コンテンツ ページ クラスにパブリック メソッドがあり、マスター ページ クラスからこのメソッドを呼び出したい
11444 次
3 に答える
7
基本クラスからページを継承できます。次に、ページでオーバーライドされる基本クラスに仮想メソッドを作成できます。次に、次のようにマスターページからその仮想メソッドを呼び出すことができます-
(cphPage.Page as PageBase).YourMethod();
は、マスターページcphPage
の の ID です。メソッドを含む基本クラスです。ContentPlaceHolder
PageBase
YourMethod
編集: もちろん、YourMethod
ページのインスタンスを使用してメソッドを呼び出す前に、null チェックを入れる必要があります。
于 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で1つのパブリック関数を宣言します。
を使用してコンテンツページから関数を呼び出します
Master.functionName()
。
于 2012-05-30T09:56:52.100 に答える