Javascript 客户端和服务器端事件未同时触发

Javascript 客户端和服务器端事件未同时触发,javascript,Javascript,我有一个asp.net按钮控件。我的要求是,单击按钮时,应禁用该按钮并同时触发服务器端事件。我正在禁用按钮 onclientclick = "this.disabled = true;" 以及通过调用服务器端方法 onclick = "someserversidemethod" 但问题是按钮被禁用,并且没有触发服务器端事件。我希望客户端和服务器端事件同时触发。请帮助。保留您所拥有的,并设置属性使用submitbehavior=“false”。这将强制按钮使用asp.net回发机制,而不是内置

我有一个asp.net按钮控件。我的要求是,单击按钮时,应禁用该按钮并同时触发服务器端事件。我正在禁用按钮

onclientclick = "this.disabled = true;"
以及通过调用服务器端方法

onclick = "someserversidemethod"

但问题是按钮被禁用,并且没有触发服务器端事件。我希望客户端和服务器端事件同时触发。请帮助。

保留您所拥有的,并设置属性
使用submitbehavior=“false”
。这将强制按钮使用asp.net回发机制,而不是内置浏览器机制

编辑

当您单击
控件时(当您使用
控件时,该控件会呈现为HTML),作为标准浏览器的浏览器将始终提交表单。ASP.NET使用此功能启动回发到服务器

您遇到的问题是,如果按钮被禁用(就像您在javascript中所做的那样),那么浏览器将提交表单(即,不会发生回发)

通过使用属性
UseSubmitBehavior=“false”
您告诉ASP.NET忽略浏览器可以自己提交的事实,而按钮应该使用ASP.NET提供的JavaScript回发方法(与
AutoPostback=“true”
上用于
等的方法相同)

javascript回发忽略了您刚刚将控件设置为禁用的事实,这意味着该控件将在屏幕上被禁用,但回发仍然会发生


我希望这是有意义的

在服务器端方法中删除OnClientClick并将按钮设置为disabled如何?@Alxandr:最初我是这样做的。但该按钮位于更新面板内,单击该按钮可对web服务进行异步调用。只有在web服务返回后,该按钮才会被禁用。我希望在服务返回之前将其禁用,以便用户不能同时单击按钮。这就是为什么我必须为禁用按钮而选择客户端事件。请告知。尝试输入“返回真值;”在“this.disabled=true;”之后?您的意思是说我应该使用UseSubmitBehavior=“false”来禁用按钮的客户端事件吗?正确,保持客户端禁用,但也将上述属性放在按钮上。我会在我的答案中添加更多来解释它。谢谢。成功了。您能解释一下UseSubmitBehavior=“false”吗?非常感谢您的解释。