提问人:Naish 提问时间:9/15/2023 最后编辑:Naish 更新时间:9/20/2023 访问量:15
两个更新面板在同一页面上,不要刷新独立
Two updatepannels on same page, dont refresh indepedanty
问:
我有两个带有 Lablel 的更新面板和一个按钮。
当我单击按钮时,它会发送请求并等待 5 秒,然后随着时间的推移更新标签。
当我单击 btn1 时,等待 5 秒,代码工作正常。当我单击 btn2 时,等待 5 秒,代码工作正常。 但是当我单击 btn1 时,在没有等待响应(5 秒之前)的情况下,我单击了 btn2,只有第二个 updatepannel 标签 - lbl2 正在更新。
服务器有什么方法可以独立处理这两个请求吗?
这是我的代码:
<asp:UpdatePanel runat="server" ChildrenAsTriggers="true" UpdateMode="Conditional" >
<ContentTemplate>
<asp:Label Text="text" runat="server" ID="lbl1" />
<asp:Button Text="ok1" runat="server" ID="btn1" OnClick="btn1_Click" />
</ContentTemplate>
<Triggers >
<asp:AsyncPostBackTrigger ControlID="btn1" EventName="Click" />
</Triggers>
</asp:UpdatePanel>
<asp:UpdatePanel runat="server" ChildrenAsTriggers="true" UpdateMode="Conditional">
<ContentTemplate>
<asp:Label Text="text" runat="server" ID="lbl2" />
<asp:Button Text="ok2" runat="server" ID="btn2" OnClick="btn2_Click" />
</ContentTemplate>
<Triggers>
<asp:AsyncPostBackTrigger ControlID="btn2" EventName="Click" />
</Triggers>
</asp:UpdatePanel>
======================================================================================
protected void btn1_Click(object sender, EventArgs e)
{
Thread.Sleep(5000);
lbl1.Text = "Done2 "+ DateTime.Now.ToString();
}
protected void btn2_Click(object sender, EventArgs e)
{
Thread.Sleep(5000);
lbl2.Text = "Done4 " + DateTime.Now.ToString();
}
根据我的要求,当我单击 btn1 时,然后在 2 秒后单击 btn2,
LBL1 应在 3 秒后更新,LBL2 应在 5 秒后更新。
答: 暂无答案
评论