Javascript __doPostBack()正在导致回发,但未调用aspx页面中的按钮单击事件
我正在使用一个有按钮的aspx页面Javascript __doPostBack()正在导致回发,但未调用aspx页面中的按钮单击事件,javascript,c#,jquery,asp.net,asp.net-mvc,Javascript,C#,Jquery,Asp.net,Asp.net Mvc,我正在使用一个有按钮的aspx页面 <asp:Button ID="savebtn" runat="server" OnClick="savebtn_Click" Style="display: none" /> 有两种方法可以导致回发,如下代码所示 $(document).ready(function () { var id = document.getElementById('<%= savebtn.ClientID %>');
<asp:Button ID="savebtn" runat="server" OnClick="savebtn_Click" Style="display: none" />
有两种方法可以导致回发,如下代码所示
$(document).ready(function () {
var id = document.getElementById('<%= savebtn.ClientID %>');
//Cause post back & calls page load but not savebtn_Click event
__doPostBack('<%= savebtn.ClientID %>', 'OnClick');
});
$(document).ready(function () {
var id = document.getElementById('<%= savebtn.ClientID %>');
//Cuase postback & calls both PageLoad and savebtn_Click events.
//If I use method, There is no way to know which control caused postback
id.click();
});
$(文档).ready(函数(){
var id=document.getElementById(“”);
//导致回发&调用页面加载但不保存单击事件
__doPostBack(“'OnClick');
});
$(文档).ready(函数(){
var id=document.getElementById(“”);
//Cuase postback&调用PageLoad和savebtn_Click事件。
//若我使用这个方法,就无法知道哪个控件导致了回发
id.单击();
});
当我使用uu doPostBack时,它调用页面加载事件,但不调用btn click事件
是否有任何方法可以使用doPostBack触发页面加载以及savebtn\u点击事件。
如果我使用id.click();如上所示,我可以调用savebtn_Click,但它不会告诉我是哪个控件导致了回发。您是否尝试过使用UniqueID而不是ClientID
__doPostBack('<%= savebtn.UniqueID %>', "");
\uuu doPostBack(“”,”);
还可以在dopostback上查看此问题:我使用以下代码解决了此问题:
document.all('Button1').click();
为什么要尝试使用clientside进行回发?这很有效,但如果有人能解释它的工作原理,那就太好了。UniqueID从name属性返回值(使用$作为分隔符),ClientID从id属性返回值(使用u作为分隔符)。解释其工作原理:“UniqueID在回发中也起着主要作用。支持回发的服务器控件的UniqueID属性为_EVENTTARGET隐藏字段提供数据。ASP.NET运行时然后使用_EVENTTARGET字段查找触发回发的控件,然后调用其RaisePostBackEvent方法。”