只需在长方法之前更改标签文本即可
本文关键字:标签 文本 方法 | 更新日期: 2023-09-27 18:35:26
它可能很简单,但我无法弄清楚。我在updatePanel中有一个简单的联系表单,当用户按下发送按钮时,在发送之前应该会出现一个标签。完成后,它应该说类似消息发送的内容。
Application.DoEvents() 可以解决问题,但是是的,我们 asp.net...我已经尝试了多线程,但仍然 lblMessageSend 文本更改为"发送电子邮件..请稍候.."消息发送后。除此之外,不是线程安全,仍然不起作用。
protected void btnSend_Click(object sender, EventArgs e)
{
lblMessageSend.Text = "Sending e-mail.. Please Wait..";
lblMessageSend.Visible = true;
ThreadStart t1 = new ThreadStart(SendMessage);
Thread thr = new Thread(t1);
thr.Start();
}
private void SendMessage()
{
//do some sending stuff
lblMessageSend.Text = Resources.strings.quotationMessage;
}
.html
</tr>
<tr>
<td>
</td>
<td>
<asp:Button ID="btnSend" runat="server" Text="Send" ValidationGroup="Form" TabIndex="12" OnClick="btnSend_Click" />
</td>
</tr>
<tr>
<td>
</td>
<td>
<asp:Label ID="lblMessageSend" runat="server" Visible="false" Text="<%$ Resources:strings, quotationMessage%>"></asp:Label>
</td>
</tr>
Thx @Black Baron。
<tr>
<td>
</td>
<td>
<asp:Button ID="btnSend" runat="server" Text="Send" ValidationGroup="Form" OnClientClick="ChangeLabelText();" TabIndex="12" OnClick="btnSend_Click" />
</td>
</tr>
<tr>
<td>
</td>
<td>
<asp:Label ID="lblMessageSend" runat="server" Text=""></asp:Label>
</td>
</tr>
Javascript:
<script type="text/javascript">
if (Page_ClientValidate()) { //to check if the validationFields are validated..
document.getElementById('<%= lblMessageSend.ClientID %>').innerHTML = 'Sending.. Please wait..';
}
</script>
老实说,我对我仍然必须使用javascript来完成工作这一事实感到有点失望。但它有效,这很重要。