4

我是 ajax 新手,使用 Visual Studio 2005 和框架 2.0。一个简单的 Ajax 示例总是将页面加载事件处理为单击按钮。没有部署,只是在调试模式下运行将我带到Page_Load事件中。不知道是什么问题?我检查了UpdatePanel1.IsInPartialRendering and ScriptManager1.IsInAsyncPostBack哪些值为false。这是我的代码,

 <form id="form1" runat="server">
    <asp:ScriptManager ID="ScriptManager1" runat="server" EnablePartialRendering="true" >
    </asp:ScriptManager>
<div>
    <asp:UpdatePanel ID="UpdatePanel1" runat="server">
    <ContentTemplate>
        <asp:Label ID="Label1" runat="server" Text=""></asp:Label><br />
        <asp:Button ID="Button1" runat="server" Text="PostBack" OnClick="Button1_Click" />
    </ContentTemplate>
    </asp:UpdatePanel>
</div>

protected void Button1_Click(object sender, EventArgs e)
{
    Label1.Text = DateTime.Now.ToLongTimeString()+UpdatePanel1.IsInPartialRendering+ScriptManager1.IsInAsyncPostBack;
}

到目前为止,谷歌和 stackoverflow 对我没有帮助。所以任何善良的心都可以帮助我......

4

2 回答 2

7

控制内部更新面板原因asynchronous postback。什么是异步回发?从参考到 MSDN

An asynchronous postback behaves much like a synchronous postback. All the server page life-cycle events occur, and view state and form data are preserved. However, in the rendering phase, only the contents of the UpdatePanel control are sent to the browser. The rest of the page remains unchanged.

现在,如果它导致服务器上的所有事件而不是使用部分渲染......

部分页面呈现消除了由于回发而刷新整个页面的需要。相反,仅更新已更改的页面的各个区域。因此,用户不会在每次回发时看到整个页面都重新加载,这使得用户与网页的交互更加无缝

于 2013-07-09T04:31:27.180 回答
0

我对我的 Web.forms 有点生疏,但我记得,这是设计使然。当 AJAX 更新面板向服务器发送请求时,Page_Load 会触发。

于 2013-07-09T03:43:29.003 回答