javascript __doPostBack似乎不适合我

时间:2010-04-16 12:18:17

标签: asp.net javascript postback

我在我的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 ..任何建议......

4 个答案:

答案 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"将呈现给浏览器,而不是在服务器端处理。