asp:按钮 - onclick事件在不同的代码隐藏后触发代码?

时间:2015-05-16 19:20:49

标签: asp.net code-behind site.master

我自学使用带有使用ContentPlaceHolderID对象嵌入的子网页的site.master页面。我搞清楚了,但我有一个问题;是否可以在site.master页面上放置一个按钮来触发子窗体的代码隐藏页面上的代码?如果我能做到这一点,它将真正简化我想要完成的事情。

我试图继承'两个代码隐藏,但当然,这是行不通的。有没有办法做到这一点?

1 个答案:

答案 0 :(得分:1)

是的,有办法做到这一点。您需要将UseSubmitBehavior按钮属性设置为false,然后您可以使用Request.Params.Get("__EVENTTARGET");访问导致回发的控件,因此代码如下所示:

Site.Master标记中的按钮定义:

<asp:Button ID="MyButton" runat="server" Text="Button" UseSubmitBehavior="false" />

任何继承页面中的代码:

protected void Page_Load(object sender, EventArgs e)
{
    if (!Page.IsPostBack)
    {
        // in case you have code to be executed on first load
    }
    else
    {
        string myButtonCtrl = Request.Params.Get("__EVENTTARGET");
        if (myButtonCtrl != null && myButtonCtrl.EndsWith("MyButton"))
        {
            // MyButton has been clicked!
        }    
    }
}