如何使用__DoPostBack在没有隐藏控件的情况下使用方法后面的代码

时间:2012-01-31 21:59:41

标签: c# asp.net .net

我想使用__DoPostBack调用服务器端方法,但我不希望在我的页面中隐藏ASP runat服务器控件。是否可以通过名称而不是通过触发它的控件名称来调用服务器端方法?

问题是,我的aspx页面上有一个带有onclick =“ExportButton_Click”的asp按钮,当单击该按钮时,它调用ExportButton_Click代码隐藏(服务器端)方法。我的问题是,我想摆脱asp按钮,因为我试图动态创建一个按钮,当点击时,将执行相同的操作。现在,我动态创建的按钮调用doPostBack javascript函数,该函数以触发ExportButton_Click的asp按钮为目标。那么......是否可以使用__doPostBack调用ExportButton_Click codebehind方法,而无需使用asp按钮?提前谢谢。

2 个答案:

答案 0 :(得分:2)

将事件目标参数传递给__DoPostBack('myEvent')方法,就像那样。

然后在你的代码隐藏Page_Load()中,有这样的代码:

if (Request.Form["__EVENTTARGET"] == "myEvent")
{
    //call your button click function, and pass the button to it (can pass null as the EventArgs)
    Button1_Click(Button1, null);
}

答案 1 :(得分:1)

这两种方法是您的服务器端朋友:

this.Page.ClientScript.GetPostBackEventReference
this.Page.ClientScript.GetPostBackClientHyperlink

它们可用于生成javascript以链接到服务器端事件。

相关问题