0

マスター ページの分離コードで作成されたオブジェクトにアクセスする必要があります。1 つのマスター ページと多数の子ページがあり、子ページはこのオブジェクトにアクセスする必要があります。マスター ページの分離コードは次のとおりです。

    protected void Page_Load(object sender, EventArgs e)
    {
        if (Session["Manager"] == null) Response.Redirect("/Login");
        Manager Mng = (Manager)Session["Manager"];
    }

私の子ページで、これを実行できるようにしたい:

int _ID = Mng.ID

しかし、この文脈では「Mng」は存在しません。お知らせ下さい。ありがとう。

4

2 に答える 2

1

次のように、マスターにパブリック プロパティを追加する必要があります。

public Manager Mng { get; set; }

このプロパティに manager 値を設定します。どのページまたはユーザー コントロールでも、次のことができます。

((SiteMaster)this.Page.Master).Mng

参照を取得します。サイトマスターをキャストするか、次のようなインターフェースを作成する必要があることに注意してください。

public interface IMaster
{
   Manager Mng { get; }
}

マスター ページにこのインターフェイスを実装させ、次のようにマスターを型 IMaster にキャストします。

((IMaster)this.Page.Master).Mng
于 2013-09-19T17:23:07.490 に答える