Обновить элементы управления на панели обновления - PullRequest
0 голосов
/ 22 августа 2011

Я использую панель обновления с некоторыми элементами управления, я, когда нажимаю на кнопку, создаю сон. в это время я нажимаю на вторую кнопку, обработчики кнопок успешно выполняют async. Но одна из меток не обновляется?

У меня есть две метки на панели обновления, когда кнопка btnPostF нажата, а затем кнопка btnPostS, обновлять только lable2 на панели обновлений, а lable2 не обновлять !!

<body>
    <form id="form1"  runat="server">
        <asp:ScriptManager ID="ScriptManager1" runat="server">

        <asp:UpdatePanel ChildrenAsTriggers="true" ID="UpdatePanel1"  runat="server" >
            <contenttemplate>
                    <asp:Button runat="server" Text="PostBackFirst" ID="btnPostF" 
                        onclick="btnPostF_Click"/> 
                    <asp:Button runat="server" Text="PostBackSecond" ID="btnPostS"
                        onclick="btnPostS_Click"/> 
                    <asp:Button runat="server" Text="AbortPostBack" ID="btnAbort"
                        OnClientClick="Sys.WebForms.PageRequestManager.getInstance().abortPostBack();
                        alert('Postback Cancelled');"/>
                    <asp:Label ID="Label1" runat="server" Text="">            
                    <asp:Label ID="Label2" runat="server" Text="">            
            </contenttemplate>

    </form>
</body>

protected void btnPostF_Click(object sender, EventArgs e)
        {
            System.Threading.Thread.Sleep(4000);
            Label1.Text = "PostBack 1 Completed";

        }

        protected void btnPostS_Click(object sender, EventArgs e)
        {
            System.Threading.Thread.Sleep(4000);
            Label2.Text = "PostBack 2 Completed";

        }

1 Ответ

0 голосов
/ 23 августа 2011

Если вы выполняете второй постбэк (нажав на вторую кнопку), пока клиент (ваш браузер) ожидает завершения первого запроса.Как только вы нажмете вторую кнопку, ваш первый запрос будет отменен клиентом.Таким образом, вы видите результат только из вашего второго запроса.

В вашем примере, если вы сначала нажмете на вторую кнопку, а затем на первую, вы увидите значения на label1, а не на label2.это помогает.

Ims

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...