【发布时间】:2013-05-24 22:15:52
【问题描述】:
我试图在单击 ASP.NET 页面中的按钮时发生两件事:
- 更改 ASP:Label 中的文本。
- 禁用该按钮。
我在这方面做了很多研究,但我都遇到了困难。
对于#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 属性将其更改回来。
【问题讨论】:
标签: asp.net updatepanel