在单击UpdatePanel内的GridView页面时,Page_Load是否正常触发?

时间:2011-09-01 11:02:39

标签: c# asp.net gridview updatepanel postback

我的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,这是部分回发的正常行为吗?

2 个答案:

答案 0 :(得分:1)

使用UpdatePanel进行部分呈现不会改变或影响ASP.NET中的整个页面生命周期。

这是一个小技巧,用于在浏览器中重新呈现页面的某个区域(UpdatePanel),但没有其他任何改变,所以是的,看到Page_Load和所有其他事件照常被触发是正常的;它必须是那样或不起作用:)。

答案 1 :(得分:1)

是的,在更新面板更新期间,每次异步回发都会调用page_load到服务器,为了克服这个问题,你可以使用jquery ajax。