我有一个大类CityModel里面信息很多,
现在页面设计是这样子的:
Master页面上,有显示一些关于CityModel的属性,如Name .Population 等等。
在具体的页面上,也会显示一些CityModel的属性,并能对其中的一些属性,进行修改。
Master:public partial class InternalPage : System.Web.UI.MasterPage
{
public CityModel city = null; public CityModel City
{
get
{
return city;
}
set
{
city = value;
}
} protected void Page_Load(object sender, EventArgs e)
{
if(!IsPostBack)
{
city = new CityModel();
.........
}
}
}我的设想是这样子的,为了避免重复读取数据(因为City类的东西太多了),在Master Load事件中实例化City
然后在具体的页面上,通过Master属性来 引用这个City属性具体的页面public partial class Overiew : System.Web.UI.Page
{
public CityModel city; protected void Page_Load(object sender, EventArgs e)
{
city = ((InternalPage)this.Master).City;
lblcityId.text = city.CityId.ToString();
}
}问题是,后来我发现在具体页面load事件中报错了,原因是先执行了具体页面中的Load事件,再执行的Master上的Load事件,于是在具体页面时这个city为null, 这让我很疑惑?我原以为是先执行Master的Load再执行本页上的Load我现在不知道应该怎么办了,请教大侠们!另外一个问题:我的具体页面上,会有一些button事件,会更新Master上一些属性。
我想问的是,是不是只有分别在各个页面上的buttion事件中加上一些
(lable) Master.FindControl('lblCityName‘).text = city.CityName 之类的东东,才能实现同步显示?
不知道我的问题,没有描述清楚!谢谢大家了
现在页面设计是这样子的:
Master页面上,有显示一些关于CityModel的属性,如Name .Population 等等。
在具体的页面上,也会显示一些CityModel的属性,并能对其中的一些属性,进行修改。
Master:public partial class InternalPage : System.Web.UI.MasterPage
{
public CityModel city = null; public CityModel City
{
get
{
return city;
}
set
{
city = value;
}
} protected void Page_Load(object sender, EventArgs e)
{
if(!IsPostBack)
{
city = new CityModel();
.........
}
}
}我的设想是这样子的,为了避免重复读取数据(因为City类的东西太多了),在Master Load事件中实例化City
然后在具体的页面上,通过Master属性来 引用这个City属性具体的页面public partial class Overiew : System.Web.UI.Page
{
public CityModel city; protected void Page_Load(object sender, EventArgs e)
{
city = ((InternalPage)this.Master).City;
lblcityId.text = city.CityId.ToString();
}
}问题是,后来我发现在具体页面load事件中报错了,原因是先执行了具体页面中的Load事件,再执行的Master上的Load事件,于是在具体页面时这个city为null, 这让我很疑惑?我原以为是先执行Master的Load再执行本页上的Load我现在不知道应该怎么办了,请教大侠们!另外一个问题:我的具体页面上,会有一些button事件,会更新Master上一些属性。
我想问的是,是不是只有分别在各个页面上的buttion事件中加上一些
(lable) Master.FindControl('lblCityName‘).text = city.CityName 之类的东东,才能实现同步显示?
不知道我的问题,没有描述清楚!谢谢大家了
解决方案 »
- 一淘开放搜索商家接入 feed制作脚本.net版
- SVN版本管理问题,急!急!急!
- 前台DATALIST里放一个HIDDEN后台怎么得到?
- 如何在子页面上显示treeview
- 如何自定义绑定gridview
- ASP页面传值问题
- 請教一個怪問題
- js问题
- 怎么在新页中提示?比喻说我在一个页面中点击"AddNew",在另一个空白页面中提示:"Company Code cannot be blank!"
- 帮忙推荐Asp.net书籍
- 架设网站报错...在线等
- background:transparent url(i/pageBd-hasAppbar.gif) repeat-y scroll -3000px 0;求人讲解一下.
内容页面子控件初始化
Master Page 初始化
内容页面初始化
内容页面 Page_Load
Master Page 的 Page_Load
Master Page 子控件加载
内容页面子控件加载
内容页面的 Page_Load 先于 Master Page 的 Page_Load
访问 Master Page 里的服务器控件,在内容页面的 Page_LoadComplete 方法里写代码。通过缓存实现数据同步
<%@ Application Language="C#" %><script runat="server"> void Application_Start(object sender, EventArgs e)
{
//在应用程序启动时运行的代码
if (HttpRuntime.Cache["model"] == null)
{
dd.Class1 test = new dd.Class1();
test.CityName = "BeiJing";
HttpRuntime.Cache["model"] = test.CityName;
}
}
void Application_End(object sender, EventArgs e)
{
//在应用程序关闭时运行的代码 }
void Application_Error(object sender, EventArgs e)
{
//在出现未处理的错误时运行的代码 } void Session_Start(object sender, EventArgs e)
{
//在新会话启动时运行的代码 } void Session_End(object sender, EventArgs e)
{
//在会话结束时运行的代码。
// 注意: 只有在 Web.config 文件中的 sessionstate 模式设置为
// InProc 时,才会引发 Session_End 事件。如果会话模式
//设置为 StateServer 或 SQLServer,则不会引发该事件。 }
</script>具体页面:
TextBox1.Text = Cache["model"].ToString();
好人啊~,