我在 ASP.Net Web 表单中有以下按钮:
<asp:Button id="btn_submit" text="Submit (Click only Once)" OnClick="process_form" runat="server" />
在页面代码中,我有以下用于禁用多次提交的功能(这在 ASP.Net 2.0 下运行良好)......
private sub prevent_multiple_submits()
dim sb as StringBuilder
sb = New StringBuilder()
sb.Append( "this.value = 'Please wait...';this.disabled = true;" )
sb.Append( Page.ClientScript.GetPostBackEventReference( btn_submit, String.Empty ) )
btn_submit.Attributes.Add( "onclick", sb.ToString() )
end sub
当页面在 ASP.Net 2.0 下运行时,呈现的 HTML 如下(工作正常)...
<input type="submit" name="btn_submit" value="Submit (Click only Once)" onclick="this.value = 'Please wait...';this.disabled = true;__doPostBack('btn_submit','');" id="btn_submit" />
当页面在 ASP.Net 4.0 下运行时,呈现的 HTML 如下:
<input type="submit" name="btn_submit" value="Submit (Click only Once)" onclick="this.value = 'Please wait...';this.disabled = true;__doPostBack('btn_submit','');" language="javascript" id="btn_submit" />
...由于某种原因,该按钮永远不会显示为禁用...(就像在 ASP.Net 2.0 下一样)...
表单仍然提交并且一切正常——但是按钮在被点击后永远不会出现?!
有没有其他人处理过这种行为?..如果是这样,您是否找到了解决方案而无需更改 web.config、使用 JQuery 等。
顺便提一句,
我确实找到了以下参考资料;但在 ASP.Net 4.0 下对我来说还没有任何效果。
HTMLEncode/HTMLDecode 和撇号 ASP.net
我想问题应该是如何将未转义的 javascript 代码添加到 asp.net 按钮?
提前致谢