2012-10-10 2 views
3

У меня есть свойство в MasterPage, который я заселить в страницу визуализации событие, как показано ниже:передавая имущество от главной страницы ASPX страницы

public string myproperty{get; set;} 
protected override void OnInit(EventArgs e) 
{ 
    base.OnInit(e); 
    myproperty = "TEST";   
} 

на моей странице ASPX я имею <%@ Reference VirtualPath="~/Site.Master" %> и события страницы инициализации я к нему доступ так как:

protected override void OnInit(EventArgs e) 
{ 
    base.OnInit(e); 
    Site msPage = (Site)Page.Master; 
    string t = msPage.myproperty ; 
} 

Я могу видеть свойство на главной странице, имеющее значение, но на странице aspx оно всегда равно нулю. я делаю что-то неправильно, может кто-то помочь, пожалуйста.

+0

Вы забыли показать нам, как именно это значение помещается на страницу aspx – freefaller

+0

@freefaller, что вы имеете в виду на странице aspx? Я думал, что если вы присвоите значение свойству на главной странице, вы сможете получить его на странице aspx – Zaki

+1

, его нельзя установить с помощью метода OnInit. Запишите это http://msdn.microsoft.com/en-us/library /cd6at422.aspx – Usman

ответ

3
+0

Я прочитал это до того, как у меня возникла единственная проблема, связанная с тем, что значение равно null и выбрасывает ссылку на объект не устанавливает исключение – Zaki

+0

Вы вызываете свойство из init. Попробуйте снова прочитать статью. –

0

Свойство еще не инициализирован.

Основная страница фактически реализована как элемент управления на странице, поэтому страница инициализируется перед главной страницей.

Смежные вопросы