我的内容页类中有一个公共方法,我想从母版页类中调用此方法
谢谢
问问题
11444 次
3 回答
7
您可以从基类继承您的页面。然后,您可以在您的基类中创建一个虚拟方法,该方法将在您的页面中被覆盖。然后,您可以像这样从母版页调用该虚拟方法 -
(cphPage.Page as PageBase).YourMethod();
这里,cphPage
是ContentPlaceHolder
您的母版页中的 ID。PageBase
是包含该YourMethod
方法的基类。
YourMethod
编辑:当然,在使用页面实例调用方法之前,您必须进行空值检查。
于 2009-05-20T10:35:09.130 回答
3
如果您不想使用任何基本页面
将此添加到您的母版页,
private object callContentFunction(string methodName, params object[] parameters)
{
Type contentType = this.Page.GetType();
System.Reflection.MethodInfo mi = contentType.GetMethod(methodName);
if(mi == null)return null;
return mi.Invoke(this.Page, parameters);
}
然后使用它
callContentFunction("myPublicMethodName", myParam1, myParam2...);
于 2009-05-20T10:53:07.707 回答
2
脚步:
将新
<%@ MasterType VirtualPath="location of your masterpage" %>
指令添加到 .aspx 页面在 MasterPage 中声明一个公共函数。
使用 . 从内容页面调用函数
Master.functionName()
。
于 2012-05-30T09:56:52.100 回答