我的aspx页面中有这段代码:
<form id="form2" runat="server">
<asp:ScriptManager ID="ItemsScriptManager" runat="server" EnablePartialRendering="true" />
<asp:Button runat="server" ID="SearchButton" OnClick="ItemsSearch" Text="Search" />
<asp:UpdatePanel runat="server" ID="ItemsUpdatePanel">
<ContentTemplate>
<asp:ObjectDataSource runat="server" ID="ItemsDS"
TypeName="TemplateGridViewODSPagingSorting.ItemDAO" SelectMethod="GetItems" />
<asp:GridView runat="server" ID="ItemsGridView" DataSourceID="ItemsDS"
AllowPaging="true" AllowSorting="true" PageSize="4">
</asp:GridView>
</ContentTemplate>
</asp:UpdatePanel>
</form>
通过按下GridView的另一个页面触发Page_Load,这是部分回发的正常行为吗?
答案 0 :(得分:1)
使用UpdatePanel
进行部分呈现不会改变或影响ASP.NET中的整个页面生命周期。
这是一个小技巧,用于在浏览器中重新呈现页面的某个区域(UpdatePanel),但没有其他任何改变,所以是的,看到Page_Load和所有其他事件照常被触发是正常的;它必须是那样或不起作用:)。
答案 1 :(得分:1)
是的,在更新面板更新期间,每次异步回发都会调用page_load到服务器,为了克服这个问题,你可以使用jquery ajax。