Muhammad Akhtar
Muhammad Akhtar

Reputation: 52241

Content page class method calling from master page class

I have a public method in my content page class, I want to call this method from master page class.

Upvotes: 0

Views: 11592

Answers (3)

ashok manghat
ashok manghat

Reputation: 21

STEPS:

  1. Add New <%@ MasterType VirtualPath="location of your masterpage" %> directive to .aspx page

  2. Declare one public function in MasterPage.

  3. Call the function from content page using Master.functionName().

Upvotes: 2

Tolgahan Albayrak
Tolgahan Albayrak

Reputation: 3206

if you do not want to use any base page

add this to your master page,

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);
}

then use it

callContentFunction("myPublicMethodName", myParam1, myParam2...);

Upvotes: 3

Kirtan
Kirtan

Reputation: 21695

You can inherit your page from a base class. Then you can create a virtual method in your base class which will get overridden in your page. You can then call that virtual method from the master page like this -

(cphPage.Page as PageBase).YourMethod();

Here, cphPage is the ID of the ContentPlaceHolder in your master page. PageBase is the base class containing the YourMethod method.

EDIT: Of course, you'll have to put a null checking before you call the YourMethod method using the page's instance.

Upvotes: 7

Related Questions