有没有办法让 asp.net 页面 "catch up" 属于自己?
Is there a way to let an asp.net page "catch up" to itself?
我在 C# 中工作,我需要一个按钮,当用户单击它时立即将其禁用。但是,如果我把它作为 OnClick 函数的第一行
MyButton.Enabled = false;
它什么都不做。该按钮将保持启用状态,直到它遇到某种停止,无论是 Catch 块还是函数结束。
我在想,在 VB/VBA 中,您可以使用 DoEvents() 并允许代码自行处理。但是,在 C# 中似乎没有 DoEvents 方法。
这与链接的问题略有不同,因为我的 OnClick 代码如下所示:
OnClick="btnSubmit_Click"
并且该用户的 OnClick 代码如下所示:
onClick="this.disabled=true;
this.value='Sending…';
this.form.submit();"
当我尝试将代码更改为:
OnClick="this.disabled=true; btnSubmit_Click"
我收到一个错误。
Compiler Error Message: CS1041: Identifier expected; 'this' is a
keyword
如何在 C#/asp.net 环境中执行此操作?
您将需要使用客户端 JavaScript。一种方法是使用 asp.net 按钮控件的 OnClientClick 属性。
这是服务器端的,将在 PageLoad/Postback -
上执行
MyButton.Enabled = false;
OnClick
是 Button
的服务器端事件。所以你不能写:
OnClick="this.disabled=true; btnSubmit_Click"
OnClick
仅接受服务器端事件处理程序的方法名称。
如果要处理客户端按钮单击事件以防止用户多次单击它,请使用 OnCLientClick
:
OnCLientClick = "this.disabled=true;"
您还必须将 UseSubmitBehaviour
设置为 false
。
我在 C# 中工作,我需要一个按钮,当用户单击它时立即将其禁用。但是,如果我把它作为 OnClick 函数的第一行
MyButton.Enabled = false;
它什么都不做。该按钮将保持启用状态,直到它遇到某种停止,无论是 Catch 块还是函数结束。
我在想,在 VB/VBA 中,您可以使用 DoEvents() 并允许代码自行处理。但是,在 C# 中似乎没有 DoEvents 方法。
这与链接的问题略有不同,因为我的 OnClick 代码如下所示:
OnClick="btnSubmit_Click"
并且该用户的 OnClick 代码如下所示:
onClick="this.disabled=true;
this.value='Sending…';
this.form.submit();"
当我尝试将代码更改为:
OnClick="this.disabled=true; btnSubmit_Click"
我收到一个错误。
Compiler Error Message: CS1041: Identifier expected; 'this' is a keyword
如何在 C#/asp.net 环境中执行此操作?
您将需要使用客户端 JavaScript。一种方法是使用 asp.net 按钮控件的 OnClientClick 属性。
这是服务器端的,将在 PageLoad/Postback -
上执行MyButton.Enabled = false;
OnClick
是 Button
的服务器端事件。所以你不能写:
OnClick="this.disabled=true; btnSubmit_Click"
OnClick
仅接受服务器端事件处理程序的方法名称。
如果要处理客户端按钮单击事件以防止用户多次单击它,请使用 OnCLientClick
:
OnCLientClick = "this.disabled=true;"
您还必须将 UseSubmitBehaviour
设置为 false
。