【问题标题】:AsyncPostBackTrigger not working in my applicationAsyncPostBackTrigger 在我的应用程序中不起作用
【发布时间】:2010-07-23 10:24:37
【问题描述】:

我遇到了一个有趣的问题。我们正在使用 masterpage 运行一个网站,在其中一个页面中,我需要创建一个更新面板,该面板将在完成时显示组 SSID。

所以,在其中一个内容占位符中,我将其放入:

<asp:ScriptManager ID="scManagerConfirm" runat="server" />
<asp:Timer ID="tmrStatus" OnTick="tmrStatus_Tick" Enabled="false" runat="server" Interval="5000" />
   <asp:UpdatePanel ID="upnlStatus" runat="server" UpdateMode="Conditional">
      <Triggers>
         <asp:AsyncPostBackTrigger ControlID="btnConfirm" />
         <asp:AsyncPostBackTrigger ControlID="tmrStatus" />
      </Triggers>
      <ContentTemplate>
          <asp:Panel ID="pnlStatus" CssClass="appStoreStatus" Visible="false" runat="server">
             <p><asp:Literal ID="litStatusText" runat="server" Text="<%$ Resources:GRes, StatusProcessing %>"></asp:Literal></p>
          </asp:Panel>
      </ContentTemplate>
   </asp:UpdatePanel>

   <asp:Button ID="btnConfirm" OnClick="btnConfirm_OnClick" Text="<%$ Resources:GRes, Confirm %>" CausesValidation="true" UseSubmitBehavior="false" runat="server" />

后台代码很简单:

protected enum RequestStatus { Unprocessed, Processed }

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

protected void btnConfirm_OnClick( object sender, EventArgs e ) {
   pnlStatus.Visible = true;
   tmrStatus.Enabled = true;
}

protected void tmrStatus_Tick( object sender, EventArgs e ) {
   if (GetStatus() == RequestStatus.Processed) {
      litStatusText.Text = "SSID: " + GetSSID();
      tmrStatus.Enabled = false;
   }
}

private String GetSSID() {
   return "S-12345-1235-1235-1235";
}

private RequestStatus GetStatus() {
   return RequestStatus.Processed;
}

现在,我遇到的问题是这不起作用。如果我使用 PostBackTriggers 而不是 Async 则它可以工作。但是,这不是我想要的功能。我试图将按钮和计时器放入 UpdatePanel 中无济于事。

你有什么想法吗?

【问题讨论】:

    标签: asp.net timer postback


    【解决方案1】:

    这个问题现在解决了。我所要做的就是将 Async="true" 添加到:

    <%@ Page Language="C#" MasterPageFile="~/FlipitAdminPortal.Master" AutoEventWireup="true" CodeBehind="AppUpload.aspx.cs" Inherits="FlipitAdminPortal.AppUpload" Async="true" %>
    

    【讨论】:

    • 我在更新面板中有一个带按钮的 FileUpload 控件。当我选择一个文件并单击按钮时,它不会延续到代码后面。 &lt;asp:AsyncPostBackTrigger ControlID="btnModify" EventName="Click" /&gt;
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-07-21
    • 2020-03-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多