更改按钮文本并启用/禁用它

时间:2018-02-07 13:06:43

标签: javascript c# jquery asp.net

我有一个登录表单,我需要将登录按钮的文本更改为PleaseWait ...并禁用它,一旦验证身份验证它将重定向到另一个页面,否则它会将按钮文本更改为登录并启用按钮。

我尝试使用UpdatePanel,但只有在按钮点击事件中执行整个代码后才会更改文本。

ASPX代码:

<asp:ScriptManager ID="ScriptManager1" runat="server" />
<asp:UpdatePanel runat="server" UpdateMode="Conditional">
<ContentTemplate>
<asp:Button Text="Change" runat="server" ID="BtnChangeText" OnClick="BtnChangeText_Click" />
</ContentTemplate>          
</asp:UpdatePanel>

C#代码:

protected void BtnChangeText_Click(object sender, EventArgs e)
    {
        BtnChangeText.Text = "Loading...";
        BtnChangeText.Enabled = false;
        System.Threading.Thread.Sleep(5000);
    }

我也尝试使用JavaScript,在这里我可以禁用和启用按钮,但无法更改按钮的文本。

ASPX代码:

<asp:ScriptManager ID="sc" runat="server" EnablePartialRendering="true">
</asp:ScriptManager>
<script type="text/javascript">
Sys.WebForms.PageRequestManager.getInstance().add_beginRequest(BeginRequestHandler);
                 function BeginRequestHandler(sender, args) {
                     document.getElementById('BtnChangeText').innerText = "Processing...";
                     args.get_postBackElement().disabled = true;
                 }
</script>

<asp:UpdatePanel ID="updpnlSubmit" runat="server">
<ContentTemplate>
<asp:Button ID="BtnChangeText" Text="Submit" runat="server" OnClick="BtnChangeText_Click" />
<asp:Label ID="lblMessage" runat="server"></asp:Label>
</ContentTemplate>
</asp:UpdatePanel>

C#代码:

protected void BtnChangeText_Click(object sender, EventArgs e)
    {

        System.Threading.Thread.Sleep(5000);
        BtnChangeText.Enabled = true;
    }

现在,如果有人可以帮我改变按钮的文字,我将不胜感激。

2 个答案:

答案 0 :(得分:0)

答案 1 :(得分:0)

以下代码

args.get_postBackElement().value = "Please wait...";