Я пытаюсь добиться двух вещей, когда я нажимаю кнопку на странице ASP.NET:
Я провел много исследований по этому поводу, но у меня были трудности с этим.
Что касается №1, я подумал, что это должно сработать , но это не так:
<%@ Page Language="VB" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
Protected Sub BtnSubmit_Click(sender As Object, e As System.EventArgs)
Label1.Text = "Working..."
System.Threading.Thread.Sleep(5000)
Label1.Text = "Done."
End Sub
</script>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>Test Page</title>
</head>
<body>
<form id="form1" runat="server">
<ajaxToolkit:ToolkitScriptManager runat="server" />
<div>
<asp:ListBox runat="server" Height="100px" />
<br />
<asp:UpdatePanel runat="server">
<Triggers>
<asp:AsyncPostBackTrigger ControlID="BtnSubmit" EventName="Click" />
</Triggers>
<ContentTemplate>
<asp:Label ID="Label1" runat="server" Text="Press the button" />
</ContentTemplate>
</asp:UpdatePanel>
<br />
<asp:Button runat="server" ID="BtnSubmit" OnClick="BtnSubmit_Click" Text="Submit Me!" />
</div>
</form>
</body>
</html>
Сообщение "Работает ..." никогда не отображается.
Что касается пункта 2, я добавил это к кнопке (я забыл, где я его нашел):
OnClientClick="this.disabled = true; this.value = 'Working...';"
UseSubmitBehavior="false"
Это было желаемый эффект отключения кнопки и изменения ее текста (значения), но было невозможно изменить его обратно с помощью свойств Text и Enabled.