母版页可以动态切换吗?

本文介绍如何在ASP.NET中使用MasterPageFile属性在Page_PreInit事件中动态地为页面指定不同的母版页。文章提供了具体的代码示例,展示了如何依据QueryString或Session中的变量值来实现母版页的动态加载。

通过设置“MasterPageFile”属性可以做到,然而这个属性只能在“Page_PreInit”事件之中或之前设置。
在Page_PreInit事件或之前,当前页面包含的对象还没有被生成,不能访问,所以,如果想根据当前页面上某个控件的值动态切换母板页是做不到的,能够做到的就是根据Session,或者QueryString等在页面打开之前已经赋值的变量来动态切换:

 1None.gif    protected void Page_PreInit(object sender, EventArgs e)
 2ExpandedBlockStart.gifContractedBlock.gif    dot.gif{
 3InBlock.gif        if(Request.QueryString["masterPageFile"!= null)
 4InBlock.gif            this.MasterPageFile = Request.QueryString["masterPageFile"];
 5InBlock.gif
 6InBlock.gif
 7InBlock.gif        if(Session["masterPageFile"]!=null)
 8InBlock.gif            this.MasterPageFile = Session["masterPageFile"].ToString();
 9InBlock.gif       
10ExpandedBlockEnd.gif    }

转载于:https://www.cnblogs.com/eddie005/archive/2006/07/04/MasterPageChanging.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值