asp.net中的母版页像AJAX一样工作吗?

时间:2014-03-12 18:23:38

标签: c# asp.net master-pages

我需要一些关于母版页如何工作的解释(也许它也称为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不重新加载文件* .master,只是index.aspx并显示它。 net Object contentPlaceHolder)当Web应用程序异步(在后台)向服务器发送数据和从服务器检索数据时,不会干扰现有页面的显示和行为。

感谢您的建议。干杯! :)

2 个答案:

答案 0 :(得分:1)

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

母版页和内容页完全是服务器端概念。客户端(浏览器)不了解它们。服务器端代码(本例中为ASP.NET Framework)在响应请求时组装组件,构建输出流以发送给客户端。

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

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

答案 1 :(得分:0)

不,Master Page在任何意义上都不像“AJAX”。它只是一种抽象页面标记部分的方式,不会在页面之间发生变化。这样,页面上的标记可以关注对页面重要的内容。如果您熟悉那些,它在某种程度上与“服务器端包含”类似。但是这种机制非常不同,因为它完全发生在服务器端。

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