3

我在 masterpage 中有一个属性,我在页面渲染事件中填充如下:

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

在我的 aspx 页面上,我有一个<%@ Reference VirtualPath="~/Site.Master" %>页面 init 事件,我这样访问它:

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

我可以看到母版页上的属性有一个值,但在 aspx 页面上它始终为空。我做错了什么可以有人帮忙吗?

4

2 回答 2

3

我可以建议您阅读以下内容:

http://dotnetbyexample.blogspot.be/2007/10/right-way-of-accessing-master-page.html

于 2012-10-10T08:18:34.733 回答
0

该属性尚未初始化。

母版页实际上是作为页面中的一个控件来实现的,所以页面在母版页之前被初始化。

于 2012-10-10T08:55:53.020 回答