当前位置: 代码迷 >> ASP.NET >> 母板页(master)怎么绑定皮肤
  详细解决方案

母板页(master)怎么绑定皮肤

热度:9093   发布时间:2013-02-25 00:00:00.0
母板页(master)如何绑定皮肤?
我建立一个母板页 Admin.Master .和 在 App_Themes目录下建立了1套皮肤(DefaultTheme)。我现在有个需求,将所有使用Admin.Master的页面都使用皮肤DefaultTheme 。
 我知道有一种方法是在web.config<pages theme="DefaultTheme"/></system.web>
 但是因为某些原因,我不能使用上面的方法。
还有种方法,是将 使用母板页的普通页面,所有这样的所有页面都添加一个theme节点。比如
<%@ Page Title="ClassroomInfo" Language="C#" Theme="DefaultTheme" MasterPageFile="~/MasterPage/Admin.master" %>
但是这样的话感觉不爽,要是建立一百个页面,还得每个页面都添加。
有没有哪种方法,可以直接在母板页(master) 添加一个属性或者代码,就可以把皮肤应用到那些普通的页面了呢?

------解决方案--------------------------------------------------------
Master里面
protected void Page_PreInit(object sender, EventArgs e)
{
Page.Theme = "DefaultTheme";
 }
------解决方案--------------------------------------------------------
对,母版页不能使用Theme

不能直接将 ASP.NET 主题应用于母版页。 如果向 @ Master 指令添加一个主题特性,则页在运行时会引发错误。

但是,主题在下面这些情况中会应用于母版页:

如果主题是在内容页中定义的。 母版页在内容页的上下文中解析,因此内容页的主题也会应用于母版页。

如果通过在 pages 元素(ASP.NET 设置架构) 元素中包含主题定义来将整个站点配置为使用主题。


http://msdn.microsoft.com/zh-cn/library/wtxbf3hh.aspx#ScopingMasterPages


你可以写一个基类,你的内容页都继承这个基类


------解决方案--------------------------------------------------------
探讨
对,母版页不能使用Theme

不能直接将 ASP.NET 主题应用于母版页。 如果向 @ Master 指令添加一个主题特性,则页在运行时会引发错误。

但是,主题在下面这些情况中会应用于母版页:

如果主题是在内容页中定义的。 母版页在内容页的上下文中解析,因此内容页的主题也会应用于母版页。

如果通过在 pages 元素(ASP.NET 设置架构) 元素中包含主题定义……
  相关解决方案