我正在使用带有按钮的aspx页面。
<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();
});
当我使用__doPostBack时,它调用页面加载事件但不调用btn click事件。
有没有办法使用__doPostBack来触发Page Load以及savebtn_Click事件。
如果我使用id.click();如上所示,我可以调用savebtn_Click,但它没有告诉我哪个控件导致了回发。
答案 0 :(得分:19)
您是否尝试过使用 UniqueID 而不是 ClientID ?
__doPostBack('<%= savebtn.UniqueID %>', "");
另请查看有关dopostback的quick tutorial:
答案 1 :(得分:2)
我使用此代码解决了这个问题:
document.all('Button1').click();