我正在为 DNN 网站编写一个小模块。我需要<div>
每隔 n 秒使用代码隐藏中的列表内容更新一次,一次一个列表项。我<asp:UpdatePanel>
在网页上设置了一个 5 秒<asp:Timer>
。在我的OnTick()
我将一个全局变量设置flag
为 1。然后我忙于等待一个 while 循环,每次flag
从 0 更改为 1,我都会更新<div>
的内容:
List<String> dcList1 = new List<string>();
for (int i = 0; i < 10; i++)
dcList1.Add(i.ToString());
while (true)
{
for (int i = 0; i < dcList1.Count; i++)
{
//busy wait
while (flag == 0)
{
;
}
mainDiv.InnerHtml = dcList1[i].ToString();
//reset flag
flag = 0;
}
}
该页面最终会挂起一段时间,最终 DNN 会引发超时错误。我试图理解为什么使用这样的全局变量flag
不起作用。非常感谢。
PS<div>
如果我摆脱了 while 循环并使用DateTime.Now
.