Метод вызова на главной странице - PullRequest
17 голосов
/ 13 июня 2011

У меня есть публичный метод на моей главной странице asp.net. Можно ли вызвать это со страницы содержимого, и если да, каковы шаги / синтаксис?

Ответы [ 4 ]

37 голосов
/ 13 июня 2011

Из Page вы можете преобразовать страницу Master к определенному типу (типу вашего Master, который предоставляет желаемую функциональность), используя as для обхода любых исключений при несовпадении типов:

var master = Master as MyMasterPage;
if (master != null)
{
    master.Method();
}

В приведенном выше коде, если Master не относится к типу MyMasterPage, тогда master будет null и вызов метода не будет предприниматься;в противном случае он будет вызван, как и ожидалось.

15 голосов
/ 13 июня 2011

Используйте директиву MasterType , например, например:

<%@ MasterType VirtualPath="~/masters/SourcePage.master" %>

Тогда вы можете использовать метод, подобный этому:

Master.Method();
10 голосов
/ 13 июня 2011

Вы можете просто сделать как ...

MasterPageClassName MasterPage = (MasterPageClassName)Page.Master;
MasterPage.MasterMethod();

Проверка деталей ДОСТУП К СПОСОБУ В МАСТЕР-СТРАНИЦЕ С КОДОМ-ЗАДНЯЯМИ

5 голосов
/ 13 июня 2011
MyMasterPageType master = (MyMasterPageType)this.Master;
master.MasterPageMethod();
...