动态更换MasterPage并不是很难的事情,只需要在Page_PreInit()事件中设置Page.MasterPageFile的值即可.当然要对应地设置theme主题(假如你有使用的话).如要实现访问母版中的属性值时,则必须在.aspx页面中引入如下: Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--><%@ MasterType VirtualPath="~/Master1.master" %> 实现强类型,可在.aspx.cs的后置代码中可以进行访问母版页中的属性值.但是如果希望可以动态地更换母版(以编程的方式使用母版)时,这个属性值就变得难以设置了.微软提出了一个方式,应该是可以实现的.具体请参考MSDN中的方法.我提出了一种比较"笨"的方案,为每个母版单独使用一个.aspx页面,并设置强类型,这样在这些页面中即可设置对应的母版页中的属性了.只需要在需要动态更换母版的后置代码中执行: Cod 测试过:
(在内容页的Page_PreInit)中写
protected void Page_PreInit(object sender, EventArgs e) {
//Page.MasterPageFile = "MasterPage2.master";
}
设置DropDownList的选中项的索引(就是设置那一项被选中了。。从0开始)DropDownList1.SelectedIndex = 1;表示第二项被选中!