获取DropDownList从使用线程c#中选择值

时间:2012-07-03 22:03:44

标签: c# multithreading

我有一个启动第二个线程的webform,当我启动新线程时,我在webform上有一个选定值为1的DropDownList,线程函数使用

获取值
((DropDownList)Page.FindControl("MLprice2_" + _lineRef)).SelectedItem.Value)

这些工作正常,当我将DropDownList值更改为5使用

的线程上的函数时出现问题
((DropDownList)Page.FindControl("MLprice2_" + _lineRef)).SelectedItem.Value)

仍然值 1 而不是 5

请帮助

1 个答案:

答案 0 :(得分:0)

如果您在网页的生命周期中启动第二个线程,那么在第二个线程完成处理之前,网页可能已经完成了其生命周期。防止网页被垃圾收集,因为它以某种方式被第二个线程引用(因为你在那里更新网页)。但是客户端可能已经收到了渲染的网页,因此第二个线程的结果将无法到达客户端。它将在服务器(内存中)更新,但不会在客户端上更新。

我认为有必要采用不同的方法。你必须做一些额外的异步通信和/或页面更新(ajax跳到脑海中)让渲染页面接收信号以将下拉列表设置为5。