web-dev-qa-db-ja.com

マスターページのメソッドの呼び出し

私のasp.netマスターページにパブリックメソッドがあります。これをコンテンツページから呼び出すことは可能ですか?可能であれば、ステップ/構文は何ですか?

18
suggy1982

Page内から、Masterを使用して、Masterページを特定のタイプ(必要な機能を公開する独自のasのタイプ)にキャストできます。型の不一致に関する例外を回避するには:

var master = Master as MyMasterPage;
if (master != null)
{
    master.Method();
}

上記のコードで、MasterがタイプMyMasterPageではない場合、masternullになり、メソッド呼び出しは試行されません。それ以外の場合は、期待どおりに呼び出されます。

37
Grant Thomas

MasterTypeディレクティブ を次のように使用します。

<%@ MasterType VirtualPath="~/masters/SourcePage.master" %>

次に、次のような方法を使用できます。

Master.Method();
16
Uwe Keim

あなたは単に次のようにすることができます...

MasterPageClassName MasterPage = (MasterPageClassName)Page.Master;
MasterPage.MasterMethod();

詳細を確認 マスターページのコードビハインドでメソッドにアクセス

10
Muhammad Akhtar
MyMasterPageType master = (MyMasterPageType)this.Master;
master.MasterPageMethod();
5
George Duckett