gpt4 book ai didi

c# - 为更新面板编写代码触发器。 C#——ASP.NET

转载 作者:太空宇宙 更新时间:2023-11-03 20:33:35 26 4
gpt4 key购买 nike

我有这个 UpdatePanel 我想在我的网站上使用。基本上,这个想法是用户单击链接并在服务器上启动将更改数据库的服务。

所以我想写的是一个方法,如果数据库更新,它将返回 true 或 false。该方法应按定时间隔运行。如果数据库已更新,它将返回 true,这将触发 UpdatePanel 进行更新。

我知道您可以通过控件添加触发器。但是也可以通过代码来实现吗?这个想法是,如果用户在开始操作后停留在页面上,他将在方法返回 true 时看到结果出现。如果用户离开页面,他当然什么也看不到。

如果这不是使用它的权利,请说明。

任何评论将不胜感激!亲切的问候,弗洛里斯

最佳答案

我建议你使用 asp:Timer

您可以将此计时器放在更新面板的内部或外部。如果你把它放在更新面板中,你就不必自己处理触发器。 upatepanel 中的每个回发都将变为异步。但是如果你把它放在一边,你必须分配触发器。

以下是您的 aspx 的示例代码:

     <asp:UpdatePanel runat="server" ID="UPanel1">
<ContentTemplate>
<asp:Label ID="MessageLabel" runat="server" ForeColor="Red" Font-Size="X-Large" />
</ContentTemplate>
<Triggers>
<asp:AsyncPostBackTrigger ControlID="Timer1" EventName="Tick" />
</Triggers>
</asp:UpdatePanel>
<asp:Timer ID="Timer1" runat="server" OnTick="Timer1_Clicked" Interval="1000" />

虽然将它放在更新面板中更容易:

<asp:UpdatePanel runat="server" ID="UPanel1">
<ContentTemplate>
<asp:Label ID="MessageLabel" runat="server" ForeColor="Red" Font-Size="X-Large" />
<asp:Timer ID="Timer1" runat="server" OnTick="Timer1_Clicked" Interval="1000" />
</ContentTemplate>
</asp:UpdatePanel>

现在在 C# 端,您必须像这样编写事件处理程序方法:

        private static int counter = 0;
protected void Timer1_Clicked(object sender, EventArgs e)
{
//DO YOUR WORK WITH DATABASE HERE INSTEAD OF THIS CODE

if (++counter < 5)
return;

MessageLabel.Text = "Tadaaaaaah";
}

在此示例中,5 秒后屏幕上将出现一个 tadaaaah。您应该在此事件处理程序中更新您的面板。即设置标签的文本。我希望我能解决你的问题。

关于c# - 为更新面板编写代码触发器。 C#——ASP.NET,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6168562/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com