私のasp.netマスターページにパブリックメソッドがあります。これをコンテンツページから呼び出すことは可能ですか?可能であれば、ステップ/構文は何ですか?
Page
内から、Master
を使用して、Master
ページを特定のタイプ(必要な機能を公開する独自のas
のタイプ)にキャストできます。型の不一致に関する例外を回避するには:
var master = Master as MyMasterPage;
if (master != null)
{
master.Method();
}
上記のコードで、Master
がタイプMyMasterPage
ではない場合、master
はnull
になり、メソッド呼び出しは試行されません。それ以外の場合は、期待どおりに呼び出されます。
MasterType
ディレクティブ を次のように使用します。
<%@ MasterType VirtualPath="~/masters/SourcePage.master" %>
次に、次のような方法を使用できます。
Master.Method();
あなたは単に次のようにすることができます...
MasterPageClassName MasterPage = (MasterPageClassName)Page.Master;
MasterPage.MasterMethod();
MyMasterPageType master = (MyMasterPageType)this.Master;
master.MasterPageMethod();