我在我的asp.net应用程序中使用yui datatable ...我的一个列中有一个链接按钮,它工作正常,但没有隐藏按钮的回发...
myDataTable.subscribe("linkClickEvent", function(oArgs) {
javascript: __doPostBack('ctl00_ContentPlaceHolder1_Button1', '');
YAHOO.util.Event.stopEvent(oArgs.event);
});
并在我的页面中
<asp:Button ID="Button1" runat="server" onclick="Button1_Click" Text="Button"
style="display:none;" />
protected void Button1_Click(object sender, EventArgs e)
{
DownloadFile(Hfhref.Value, true);
}
我使用了断点,但它似乎没有得到__dopostback
..任何建议......
答案 0 :(得分:3)
在Button上的__doPostBackMethod上添加唯一ID。
答案 1 :(得分:2)
我刚刚做了这件事并且有效,
document.getElementById("ctl00_ContentPlaceHolder1_Button1").click();
只需拨打click()
我的按钮就可以了......
我想知道它是否适用于所有浏览器......
答案 2 :(得分:1)
如果您使用的是ASP.Net 4.0框架,请将ClientIDMode="Static"
添加到控件声明中,然后直接调用__doPostBack('Button1','');
。
<asp:Button ID="Button1" runat="server" onclick="Button1_Click" Text="Button"
style="display:none;" ClientIDMode="Static" />
ClientIDMode属性是4.0的新属性,允许您选择具有控件的已知唯一ID。调用控件的回发将运行控件的OnClick属性中定义的任何回发方法。
答案 3 :(得分:0)
在您的标记中,请确保正确处理OnClick处理程序。
onclick="Button1_Click"
应该是
OnClick="Button1_Click"
您编写它的方式,onclick将被解释为控件的属性,onclick="Button1_Click"
将呈现给浏览器,而不是在服务器端处理。