我需要一些关于母版页如何工作的解释(也许它也称为asp.net母版页生命周期)。让我们考虑我有三个链接到一个母版页的页面。守则如下:
<asp:table runat="server" ID="tableFrame" CssClass="table">
<asp:TableHeaderRow CssClass="atas">
<asp:TableHeaderCell ColumnSpan="2">
Master Page <br />
Tutorial
</asp:TableHeaderCell>
</asp:TableHeaderRow>
<asp:TableRow>
<asp:TableCell CssClass="samping">
<a href="index.aspx">Homepage</a> <br />
<a href="Simple_Calculator.aspx">Simple Calculator</a> <br />
<a href="Asterik_Triangle.aspx">Asterik Triangle</a>
</asp:TableCell>
<asp:TableCell CssClass="isi">
<asp:ContentPlaceHolder ID="Content" runat="server">
</asp:ContentPlaceHolder>
</asp:TableCell>
</asp:TableRow>
<asp:TableFooterRow CssClass="bawah">
<asp:TableCell ColumnSpan="2">
© Web Technology
</asp:TableCell>
</asp:TableFooterRow>
</asp:table>
索引代码如下所示:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Index.aspx.cs" Inherits="index" Title="Homepage" MasterPageFile="~/Master.master" %>
<asp:Content ID="Head_Index" ContentPlaceHolderID="head" runat="server">
</asp:Content>
<asp:Content ID="Content_Index" ContentPlaceHolderID="content" runat="server">
Welcome to Our Homepage <br />
Please follow the instruction to finish the construction of this website
</asp:Content>
它的asp.net就像AJAX一样?
请记住AJAX没有重新加载所有页面,只需要重新加载,也许在这种情况下是在index.aspx(也许是asp.net不重新加载文件* .master,只是index.aspx并显示它。 net Object contentPlaceHolder)当Web应用程序异步(在后台)向服务器发送数据和从服务器检索数据时,不会干扰现有页面的显示和行为。
感谢您的建议。干杯! :)
答案 0 :(得分:1)
不,您发布的代码中没有AJAX。
母版页和内容页完全是服务器端概念。客户端(浏览器)不了解它们。服务器端代码(本例中为ASP.NET Framework)在响应请求时组装组件,构建输出流以发送给客户端。
在这种情况下,组件的组装包括执行服务器端代码,“合并”主页面和内容页面,将各种服务器端控件和绑定到它们的数据解释为客户端HTML / JavaScript,以及构建一个大字符串,作为呈现的HTML发送给客户端。
它针对页面的每个请求执行此操作。在浏览器中打开页面时,请转到“查看源”以查看从服务器端代码输出的“字符串”。您会看到它只是一个页面,母版页和内容页之间没有客户端区别。
答案 1 :(得分:0)
不,Master Page在任何意义上都不像“AJAX”。它只是一种抽象页面标记部分的方式,不会在页面之间发生变化。这样,页面上的标记可以关注对页面重要的内容。如果您熟悉那些,它在某种程度上与“服务器端包含”类似。但是这种机制非常不同,因为它完全发生在服务器端。
顺便说一下,.aspx和.master页面上的文字不被视为代码。这是标记。 .cs或.vb页面上的内容被视为代码。