母版页可以动态切换吗?

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

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

posted on 2006-07-04 22:30  №.零零伍  阅读(1781)  评论(2编辑  收藏  举报