asp.net中的母版页的工作原理类似于AJAX



我需要一点解释关于母版页是如何工作的(也许它也叫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">
                &copy; 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不重新加载文件*。师傅,只是索引。当web应用程序向服务器异步(在后台)发送数据和从服务器检索数据时,而不会干扰现有页面的显示和行为。

谢谢你的建议。干杯!:)

不,你发布的代码中没有AJAX。

母版页和内容页完全是服务器端的概念。客户端(浏览器)不知道它们。服务器端代码(ASP。. NET框架在这种情况下)在响应请求时组装组件,构建输出流发送到客户端。

在这种情况下,组件的组装包括执行服务器端代码,"合并"母版页和内容页,将各种服务器端控件和绑定到它们的数据解释为客户端HTML/JavaScript,并构建一个大字符串作为呈现的HTML发送给客户端。

它对每个页面请求都执行此操作。当您在浏览器中打开页面时,转到View Source查看从服务器端代码输出的"字符串"。您将看到它都是一个页面,母版页和内容页之间没有客户端区别。

不,母版页在任何意义上都不"像AJAX"。它只是一种抽象出页面标记中不随页面变化的部分的方法。这样,页面上的标记就可以专注于对页面重要的内容。在某种程度上,它的目的类似于"服务器端包含",如果你熟悉它们的话。但是机制是非常不同的,因为它完全发生在服务器端。

顺便说一下,.aspx和.master页面上的文本不被认为是代码。这是标记。.cs或.vb页面上的内容被认为是代码。

最新更新