在Site.Master页面中单击按钮会触发内容页面中的单击事件。

时间:2014-10-02 16:47:06

标签: c# asp.net master-pages mouseclick-event

我正在尝试在Site.Master页面中单击一个按钮来触发内容页面中的单击事件。

据我所知,Master-page实际上在编译时变成了子类。

经过几个小时的谷歌搜索后,我尝试了几种不同的解决方案。

以下是我申请的当前解决方案:

PageLoad()
{
Button btn = this.Master.FindControl("lbtnMaintenance") as Button;
            btn.Click += new System.EventHandler(MasterlbtnMaintenance);
  }


 private void MasterlbtnMaintenance(object sender, EventArgs e)
        {
            MaintenanceHomeScreen(true);
        }

1 个答案:

答案 0 :(得分:0)

//Created an Interface on .aspx page:
public interface ICommandable
{
    void LblMaintenanceClick(object argument, EventArgs e);
    } 

public partial class Default : Page, ICommandable
{
 public void LblMaintenanceClick(object sender, EventArgs e)
           {

             }
}

    // On master page: 
      public void lbtnMaintenance_OnClick(object sender, EventArgs e)
                 {
                        if (Page is ICommandable)
                    {
                         (Page as ICommandable).LblMaintenanceClick(sender, e);
                     }
                 else
                     throw new NotImplementedException("u NO WURK");

            }