Как мне сослаться на главную страницу со страницы aspx? - PullRequest
2 голосов
/ 27 мая 2009

Как мне ссылаться на главную страницу веб-формы ASP.NET? Следующее утверждение не работает:

this.MasterPage.Page.Title = "My Title";

Ответы [ 5 ]

8 голосов
/ 27 мая 2009

В вашем aspx ниже директивы Page напишите:

<%@ MasterType VirtualPath="YourMasterFile" %>

А затем из своего кода напишите Мастер. все, что вы хотите использовать, например:

Master.Title = "My Title";
2 голосов
/ 27 мая 2009

Вы должны преобразовать this.MasterPage в тип имеющейся у вас мастер-страницы, а затем получить к ней доступ, как и ожидалось

var mp = this.MasterPage as MyMasterPageType;
mp.Property = value... etc
1 голос
/ 27 мая 2009

На странице вы можете использовать свойство Master и привести его к своей главной странице. то есть (MyMasterPage)this.Master. Тем не менее, всякий раз, когда я пытаюсь сделать это, я всегда проверяю, что его можно разыграть первым, поэтому я обычно получаю что-то вроде ...

MyMasterPage master;
if (this.Master is MyMasterPage)
{
    master = (MyMasterPage)this.Master
    //do stuff with master.
}

Если все, что вы хотите сделать, это изменить заголовок, то вы можете просто использовать Page.Title и убедиться, что для заголовка на главной странице установлено значение runat = 'server'.

0 голосов
/ 28 мая 2009

В вашем первоначальном вопросе (до того, как он был отредактирован), я думаю, вы упомянули «глобальные настройки». В зависимости от того, что вы хотите сделать, вы можете также рассмотреть концепцию BasePage, так как я думаю, что она может быть более подходящей. Поскольку вы наследуете его, все его члены доступны в вашем коде.

0 голосов
/ 27 мая 2009

В вашем коде напишите:

Dim masterpage As New MasterPage
    masterpage = CType(masterpage, MasterPage)

и в вашем исходном коде, где определен язык и т. Д., Введите это

MasterPageFile="~/MasterPage.master"

Если вы пишете на C #

 MasterPage masterpage = new MasterPage();
masterpage = (MasterPage)masterpage;
...