我有一个asp.net按钮控件。我的要求是,在单击该按钮时,它应该被禁用,并同时触发一个服务器端事件。我正在通过以下方式禁用按钮
onclientclick = "this.disabled = true;"并通过以下方式调用服务器端方法
onclick = "someserversidemethod"但问题是该按钮正在被禁用,并且不会触发服务器端事件。我希望同时触发客户端和服务器端事件。请帮帮忙。
发布于 2012-07-21 23:36:11
保留您已有的内容,同时设置属性UseSubmitBehavior="false"。这将强制按钮使用asp.net回发机制,而不是内置的浏览器机制。
See here for more details
编辑
当您单击<input type="submit">控件(这是您使用<asp:Button>时呈现给HTML语言的控件)时,标准浏览器总是会提交表单。ASP.NET使用此功能启动到服务器的回发。
你的问题是,如果按钮被禁用(就像你在javascript中做的那样),那么浏览器将而不是提交表单(即回发将不会发生)。
通过使用属性UseSubmitBehavior="false",你可以告诉ASP.NET忽略浏览器可以自己提交的事实,相反,按钮应该使用ASP.NET提供的JavaScript回发方法(与AutoPostback="true"上用于<asp:Checkbox>等的方法相同)。
javascript回发忽略了您刚刚将控件设置为禁用的事实,这意味着控件将在屏幕上被禁用,但回发仍然会发生。
我希望这是有意义的
https://stackoverflow.com/questions/11593456
复制相似问题