2010-07-23 5 views
0

У меня возникает интересная проблема. Мы запускаем веб-сайт, используя главную страницу, и на одной из страниц мне нужно создать панель обновления, на которой будет отображаться SSID группы.AsyncPostBackTrigger не работает в моем приложении

Так, в одном из placesholders контента, я положил это в:

<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 безрезультатно.

Любые идеи, что может быть неправильным с этим?

ответ

2

Эта проблема решена. Все, что мне нужно было сделать, это добавить Async = "true" в:

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

У меня есть элемент управления FileUpload внутри панели обновления с помощью кнопки. Когда я выбираю файл и нажимаю кнопку, он не переносит код. '' – Si8

Смежные вопросы