-1

重複の可能性:
マスター ページ クラスからのコンテンツ ページ クラス メソッドの呼び出し

マスター ページ イベントからコンテンツ ページ メソッドにアクセスする必要があります。これどうやってするの?

Content Page:
public partial class Call_Center_Main : System.Web.UI.Page
{
    Page_Load(object sender, EventArgs e)
    {
    }

    public void MenuClick(string ClkMenu)
    { 
     // Some Code
    }
}

MasterPage:
public partial class MasterPage : System.Web.UI.MasterPage
{
    protected void Page_Load(object sender, EventArgs e)
    {
    }

    protected void Menu1_MenuItemClick(object sender, MenuEventArgs e)
    {
      //How Can I call MenuClick method from Content Page from Here  ???
    }
}
4

1 に答える 1

12

この回答は、マスター ページからのコンテンツ ページの操作から取得されます。

これは、デリゲートを使用して行うことができます。

たとえば、MasterPage にボタンがあり、マスター ページからコンテンツ ページのメソッドを呼び出したいとします。これがマスターページのコードです。

マスター ページ:

public partial class MasterPage : System.Web.UI.MasterPage
{
    protected void Page_Load(object sender, EventArgs e)
    {
    }

    protected void Button1_Click(object sender, EventArgs e)
    {
        if (contentCallEvent != null)
            contentCallEvent(this, EventArgs.Empty);
    }
    public event EventHandler contentCallEvent;
}

コンテンツページ:

public partial class Content_1 : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {

    }
    private void Master_ButtonClick(object sender, EventArgs e)
    {
        // This Method will be Called.
    }
    protected void Page_PreInit(object sender, EventArgs e)
    {
        // Create an event handler for the master page's contentCallEvent event
        Master.contentCallEvent += new EventHandler(Master_ButtonClick);
    }
}

また、VirtualPath で MasterPage パスを指定する以下の行を追加します

<%@ MasterType VirtualPath="~/MasterPage.master" %> 
// This is Strongly Typed Reference
于 2012-11-29T07:00:07.967 に答える