asp.net webfrom 旧框架 服务器端按钮失效


页面不管是input控件还是服务器端控件<inputtype="submit"name="xxx"Id="xxx"/>
<asp:Button runat="server"Id="xxx"OnClick="xxx_Click"/> //在web页面中都会生成html代码:

<inputtype="submit"name="xxx"/>
<inputtype="button"name="xxx"/>在JS中调用服务器端按钮: document.getElementById("xxx").click();有的时候点击按钮无效不执行按钮点击代码。
解决办法:在web页面生成时自动生成一段代码:<script type="text/javascript">
//<![CDATA[
var theForm = document.forms['ctl01'];
if (!theForm) {
theForm = document.ctl01;
}
function __doPostBack(eventTarget, eventArgument) {
if (!theForm.onsubmit || (theForm.onsubmit() != false)) {
theForm.__EVENTTARGET.value = eventTarget;
theForm.__EVENTARGUMENT.value = eventArgument;
theForm.submit();
}
}
//]]>
</script>所有的按钮事件都通过__doPostBack这个js函数执行。
通过LinkButton可看到如下提示:<a id="LinkButton1"href="javascript:__doPostBack('LinkButton1','')">LinkButton</a> 由此可以使用以下调用也能通过JS执行服务端按钮事件代码:function fun1()
{
__doPostBack("LinkButton1", "");
}

未经允许不得转载:选主机测评网 » asp.net webfrom 旧框架 服务器端按钮失效