I have a public method in my asp.net Master Page. Is it possible to call this from a content page and if so what are the steps/syntax?
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试):
问题:
回答1:
From within the Page
you can cast the Master
page to a specific type (the type of your own Master
that exposes the desired functionality), using as
to side step any exceptions on type mismatches:
var master = Master as MyMasterPage; if (master != null) { master.Method(); }
In the above code, if Master
is not of type MyMasterPage
then master
will be null
and no method call will be attempted; otherwise it will be called as expected.
回答2:
Use the MasterType
directive like e.g.:
<%@ MasterType VirtualPath="~/masters/SourcePage.master" %>
Then you can use the method like this:
Master.Method();
回答3:
You can simply do like...
MasterPageClassName MasterPage = (MasterPageClassName)Page.Master; MasterPage.MasterMethod();
Check for Details ACCESS A METHOD IN A MASTER PAGE WITH CODE-BEHIND
回答4:
MyMasterPageType master = (MyMasterPageType)this.Master; master.MasterPageMethod();