【问题标题】:AsyncPostBackTrigger control in ajaxajax 中的 AsyncPostBackTrigger 控件
【发布时间】:2010-11-02 05:25:39
【问题描述】:
        <div id="divAnswerHeader">
          <div  id="divAnswerSubHeader">
            <h2><asp:Label ID="lblTotalAnsw" runat="server" Text=""></asp:Label> Answers</h2>
            <div id="divTabs">
                <asp:LinkButton ID="oldestAnswer" runat="server" title="Answers in the order they were given" OnClick="oldest_click">oldest</asp:LinkButton>
                <asp:LinkButton ID="newestAnswer" runat="server" title="Most recent answers first" OnClick="newest_click">newest</asp:LinkButton>
                <asp:LinkButton ID="votesAnswer" runat="server" title="Answers with the most votes first" OnClick ="votes_click">votes</asp:LinkButton>
                </div>
              </div>
            </div>

    <asp:UpdatePanel ID="upPnlLMList" runat="server">
    <ContentTemplate> 

      // code.........

     </ContentTemplate>
     <Triggers> 
       <asp:AsyncPostBackTrigger ControlID="oldestAnswer" EventName="Click" /> 
       <asp:AsyncPostBackTrigger ControlID="newestAnswer" EventName="Click" />
       <asp:AsyncPostBackTrigger ControlID="votesAnswer" EventName="Click" />
     </Triggers> 
   </asp:UpdatePanel> 

在我写的文件后面的代码中............ protected void old_click(object sender, EventArgs e) {

    }
    protected void newest_click(object sender, EventArgs e)
    {

    }
    protected void votes_click(object sender, EventArgs e)
    {

    } 

当我点击最新、最旧、投票时 page_load 事件触发,而我已经定义了异步回发,所以我想防止触发 page_load 事件我将如何做。

【问题讨论】:

    标签: asp.net-ajax


    【解决方案1】:

    对于部分回发,页面生命周期仍然完好无损。 Page_Load 仍在触发是设计使然。

    http://encosia.com/2007/10/24/are-you-making-these-3-common-aspnet-ajax-mistakes/

    您可以在 Page_Load 事件处理程序中检查您是否处于部分回发的中间。

    if (ScriptManager.GetCurrent(this).IsInAsyncPostBack) 
    

    【讨论】:

      【解决方案2】:

      Page_Load 事件将始终触发,您可以尝试将代码封装在以下内容中

      如果 (HttpContext.Current.Request.Headers["x-microsoftajax"] == null)
      {
      // 你的代码在这里
      }

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2023-03-04
        • 1970-01-01
        • 1970-01-01
        • 2011-03-17
        • 1970-01-01
        • 2013-08-10
        • 1970-01-01
        • 2013-02-19
        相关资源
        最近更新 更多