来自JavaScript提交按钮点击/页面提交收到它的点击事件。我需要了解它是如何工作的,因为我想从javascript触发按钮的服务器点击事件。我可以通过javascript提交页面:document.forms[0].submit();但是如何让asp.net认为按钮点击发生了,所以在服务器上,一旦收到请求,它的点击事件就会触发。谢谢更新1谢谢大家的回复。如果我添加一个asp.net按钮并查看源代码,进行一些测试,我似乎无法找到生成的javascript“__doPostBack”函数。这是我试过的测试。我有一个普通的HTML按钮(button1)和一个asp.net按钮。(button2)从HTML按钮(button1)的click事件中,我添加了一个对传入asp.netbutton2id的javascript__doPostback方法的客户端调用。所以我试图通过调用html按钮(button1)来触发服务器端button2单击事件。以及生成的HTML:UPDATE2如果我将按钮“UseSubmitBehavior”设置为false,那么它会生成__doPostBack方法,并且通过从客户端调用它会在服务器上引发事件。那么commit和postback有什么区别呢?(我将为此开始一个新线程)。感谢您的帮助!只要需要页面回发,就会调用javascript__doPostBack函数。要了解__doPostBack,请阅读本文。编辑使用UseSubmitBehavior属性指定Button控件是使用客户端浏览器的提交机制还是ASP.NET回发机制。默认情况下,此属性的值为true,导致Button控件使用浏览器的提交机制。如果指定false,ASP.NET页面框架将客户端脚本添加到页面以将表单发送到服务器。当UseSubmitBehavior属性为false时,控件开发人员可以使用GetPostBackEventReference方法返回Button的客户端回发事件。GetPostBackEventReference方法返回的字符串包含客户端函数调用的文本,可以插入到客户端事件处理程序中。参考:http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.button.usesubmitbehavior.aspxhttp://www.w3schools.com/ASPNET/prop_webcontrol_button_usesubmitbehavior.asp你可以使用客户端端代码完美模仿按钮点击:document.getElementById("").click();Button1是“服务器端”按钮的ID。ASP.Net向按钮添加了一个客户端onclick处理程序,该处理程序使用按钮名称作为参数调用客户端__doPostback方法。此方法将按钮名称插入隐藏字段并提交表单。(您可以在页面源代码中看到所有这些)在服务器上,ASP.Net从隐藏字段中查找控件和事件名称,并提出相应的服务器端名称。这可能会有所帮助:从JavaScript调用ASP.NET函数?下面是负责执行正确的服务器端方法的代码:}else{stringstr=postData["__EVENTTARGET"];boolflag=!string.IsNullOrEmpty(str);if(flag||(this.AutoPostBackControl!=null)){Controlcontrol=null;如果(标志){control=this.FindControl(str);}if((control!=null)&&(control.PostBackEventHandler!=null)){stringeventArgument=postData["__EVENTARGUMENT"];this.RaisePostBackEvent(control.PostBackEventHandler,eventArgument);}}else{this.Validate();这取自Page类源代码.NET4.0如您所见,SLaks已经解释过,代码正在寻找ID等于作为隐藏表单字段传递的ID的__EVENTTARGET,然后调用处理程序PostBackEventHandler(如果存在)。以上就是C#学习教程:点击JavaScript提交按钮/提交分享页面所有内容。如果对你有用,需要进一步了解C#学习教程,希望大家多多关注。本文收集自网络,不代表立场。涉及侵权,请点击维权联系管理员删除。如需转载请注明出处:
