【发布时间】:2012-07-03 18:57:59
【问题描述】:
我是 .Net 的新手。请帮助我。
我的 aspx 页面中有一个按钮和一个标签,我想在标签中显示文本,几秒钟后我想在按钮单击时显示消息框。
我的代码是 -
<asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<asp:Label ID="lblFirst" runat="server" Text=""></asp:Label>
<asp:Button ID="btnClick" runat="server" Text="MyThread"
onclick="btnClick_Click" />
</ContentTemplate>
</asp:UpdatePanel>
和代码文件-
protected void btnClick_Click(object sender, EventArgs e)
{
lblFirst.Text = "Thread Start!";
Thread threadObj = new Thread(new ThreadStart(myThreadMethod));
threadObj.Start();
}
public void myThreadMethod()
{
//Server Code that take long time..
Debug.Write("Thread Ending");
Page.ClientScript.RegisterStartupScript(GetType(),"msgbox","alert('End');",true);
}
我得到了标签的文本更改但未显示消息框。
是否可以在线程之后显示消息框?
我该怎么做?
感谢您的关注和回复。
【问题讨论】:
-
您可以使用 AJAX (msdn.microsoft.com/en-us/library/bb398874.aspx) 来完成此操作,或使用客户端回调 - 请参阅 msdn.microsoft.com/en-us/library/ms178208.aspx 了解有关此主题的信息。您也可以使用许多其他框架来完成此操作。关键是,一旦将内容发送到客户端,您的服务器端事件就会有效地完成该请求,这就是上述方法不起作用的原因。这里有一个完整的例子:msdn.microsoft.com/en-us/library/ms178210.aspx
-
我认为你最好使用带有回调的 JQUERY
-
你试过线程的回调方法吗?
标签: c# asp.net multithreading message