主页面中的调用方法

sug*_*982 17 .net c# asp.net master-pages

我的asp.net母版页中有一个公共方法.是否可以从内容页面调用它,如果是这样,步骤/语法是什么?

Gra*_*mas 37

从内部Page可以将Master页面转换为特定类型(您自己的类型Master,公开所需的功能),使用as侧面步骤任何类型不匹配的异常:

var master = Master as MyMasterPage;
if (master != null)
{
    master.Method();
}
Run Code Online (Sandbox Code Playgroud)

在上面的代码中,如果Master不是类型,MyMasterPage那么masternull不会尝试方法调用; 否则将按预期调用.

  • 首先查看Uwe Keim的答案; 我发现它使用起来非常简单. (3认同)

Uwe*_*eim 17

使用MasterType指令,例如:

<%@ MasterType VirtualPath="~/masters/SourcePage.master" %>
Run Code Online (Sandbox Code Playgroud)

然后你可以使用这样的方法:

Master.Method();
Run Code Online (Sandbox Code Playgroud)


Muh*_*tar 10

你可以简单地做...

MasterPageClassName MasterPage = (MasterPageClassName)Page.Master;
MasterPage.MasterMethod();
Run Code Online (Sandbox Code Playgroud)

检查详细信息访问具有代码的主页中的方法


Geo*_*ett 5

MyMasterPageType master = (MyMasterPageType)this.Master;
master.MasterPageMethod();
Run Code Online (Sandbox Code Playgroud)