我的asp.net母版页中有一个公共方法。是否可以从内容页面调用它,如果是,那么步骤/语法是什么?
答案 0 :(得分:37)
在Page
内,您可以将Master
页面投射到特定类型(您自己的Master
类型,以展示所需的功能),使用as
关于类型不匹配的任何例外:
var master = Master as MyMasterPage;
if (master != null)
{
master.Method();
}
在上面的代码中,如果Master
不是MyMasterPage
类型,那么master
将是null
,并且不会尝试任何方法调用;否则会按预期调用。
答案 1 :(得分:15)
使用MasterType
directive之类的例如:
<%@ MasterType VirtualPath="~/masters/SourcePage.master" %>
然后你可以使用这样的方法:
Master.Method();
答案 2 :(得分:10)
你可以简单地做...
MasterPageClassName MasterPage = (MasterPageClassName)Page.Master;
MasterPage.MasterMethod();
答案 3 :(得分:5)
MyMasterPageType master = (MyMasterPageType)this.Master;
master.MasterPageMethod();