转在ASP.NET中以编程方式设置母版页
2012-04-11 21:48
351 查看
转点击打在ASP.NET中以编程方式设置母版页开链接
在许多情况下,我们需要根据项目的运行情况,在页面运行时才决定使用哪个母版页。例如在企业管理系统中,我们要求公司的某个部门需要使用一个母版页,而其他部门则使用另外一个母版页。显然,这时候前面母版页调用方式是不能够满足的,它要求我们必须以编程方式来动态设置母版页。
其实,通过编程方式来动态设置母版页非常方便。你只需设置Page.MasterPageFile属性就可以了。但这一步必须在Page.Init事件阶段完成,在这之后,再设置这一属性会产生一个异常。如下面的代码所示:
protected void Page_PreInit(object sender, EventArgs e) { Page.MasterPageFile = ”~/Test.Master”; } 如果你将Page.MasterPageFile属性设置在Page_Load事件里,页面将会提示错误信息:“The ’MasterPageFile’ property can only be set in or before the ’Page_PreInit’ event.”。因此,你必须将Page.MasterPageFile属性设置在Page.Init事件里。
在使用以编程方式来动态设置母版页时,还必须注意如下几点:
1)确保在Web.config文件中或者内容页面的@Page指令中没有引用MasterPageFile的<pages>元素,只有这样才会得到成功加载的页面,并且引入了母版页。
2)确保内容页面没有使用MasterType指令来创建对母版页的强类型引用。
3)确保内容页面和所设置的的母版页完全兼容。
在许多情况下,我们需要根据项目的运行情况,在页面运行时才决定使用哪个母版页。例如在企业管理系统中,我们要求公司的某个部门需要使用一个母版页,而其他部门则使用另外一个母版页。显然,这时候前面母版页调用方式是不能够满足的,它要求我们必须以编程方式来动态设置母版页。
其实,通过编程方式来动态设置母版页非常方便。你只需设置Page.MasterPageFile属性就可以了。但这一步必须在Page.Init事件阶段完成,在这之后,再设置这一属性会产生一个异常。如下面的代码所示:
protected void Page_PreInit(object sender, EventArgs e) { Page.MasterPageFile = ”~/Test.Master”; } 如果你将Page.MasterPageFile属性设置在Page_Load事件里,页面将会提示错误信息:“The ’MasterPageFile’ property can only be set in or before the ’Page_PreInit’ event.”。因此,你必须将Page.MasterPageFile属性设置在Page.Init事件里。
在使用以编程方式来动态设置母版页时,还必须注意如下几点:
1)确保在Web.config文件中或者内容页面的@Page指令中没有引用MasterPageFile的<pages>元素,只有这样才会得到成功加载的页面,并且引入了母版页。
2)确保内容页面没有使用MasterType指令来创建对母版页的强类型引用。
3)确保内容页面和所设置的的母版页完全兼容。
相关文章推荐
- 在ASP.NET中以编程方式设置母版页
- 在ASP.NET中以编程方式设置母版页
- 以编程方式使用 ASP.NET 母版页
- 以编程方式设置 ASP.NET 网页的区域性和 UI 区域性
- [摘自MSDN] ASP.Net2.0学习 [1] 母版页 6 : 以编程方式使用 ASP.NET 母版页
- 以编程方式使用 ASP.NET 母版页
- 以编程方式使用 ASP.NET 母版页
- ASP.NET MVC下的四种验证编程方式
- 一起谈.NET技术,如何让ASP.NET默认的资源编程方式支持非.ResX资源存储
- 在ASP.NET 2.0中操作数据:编程设置ObjectDataSource的参数值
- ASP.NET MVC下的四种验证编程方式
- [引]VS2005 主题(Theme)和外观(skin)帮助文档:如何以编程方式应用 ASP.NET 主题
- asp.net: 应用母版页的页面,如何设置其标题?
- ASP.NET以编程的方式动态的添加Css引用
- ASP.NET MVC之路由特性以及母版页呈现方式(十二)
- ASP.NET MVC的四种验证编程方式
- ASP.NET MVC下的四种验证编程方式[续篇]
- Scott Mitchell 的ASP.NET 2.0数据教程之六:: 编程设置ObjectDataSource的参数值
- asp.net中webservice与android的json数据交互方式设置
- 以编程方式访问 ASP.NET 控件