【问题标题】:Button clicked in Site.Master page fires click event in content page.Site.Master 页面中单击的按钮会触发内容页面中的单击事件。
【发布时间】:2014-10-02 16:47:06
【问题描述】:

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

我知道母版页实际上在编译时变成了一个子类。

经过几个小时的谷歌搜索后,我尝试了几种不同的解决方案,但在网站上没有结果。

这是我目前应用的解决方案:

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


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

【问题讨论】:

  • 我认为您需要的是嵌套母版页方法。
  • 母版页或内容页上的按钮 btn 在哪里
  • @Ganesh_Devlekar 它在我的母版页上
  • @Rex 我不认为这是这种情况,因为母版页最终充当用户控件。

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


【解决方案1】:
//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");

            }

【讨论】:

    猜你喜欢
    • 2013-06-28
    • 1970-01-01
    • 2020-01-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多