[英]Show a Message Box after a Thread in ASP.net
我是.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);
}
我得到了标签的文本更改,但未显示消息框。
可以在线程之后显示消息框吗?
我怎样才能做到这一点?
感谢您的关注和回复。
使用背景工,然后添加事件BackGroundWorker完成,并在该事件中添加您的消息框
BackgroundWorker bgw = new BackgroundWorker();
// setup the anonymous event, this fires when the thread starts
bgw.DoWork += (sender, e) =>
{
// do work here
};
// event when the thread has finished
bgw.RunWorkerCompleted += new RunWorkerCompletedEventHandler((sender, e) =>
{
// set yr messagebox here
});
@Nyein Nyein Chan Chan:
Response.Write("<script language='javascript'>alert('Your message is here.')</script>");
您可以使用System.Threading.Thread.Sleep(x);
将x替换为时间(以毫秒为单位)。
之后,您可以使用Button1.PerformClick();
其中Button1是按钮的名称。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.