它可能很簡單,但我無法弄清楚。我在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>
您可以在這種情況下使用JavaScript,使用onClientClick按鈕來更改按鈕時的標籤文本。然後在該方法中,您可以像背後一樣更改代碼背後的標籤文本。 –
我編輯了你的標題。請參閱:「[應該在其標題中包含」標籤「](http://meta.stackexchange.com/questions/19190/)」,其中的共識是「不,他們不應該」。 –