我有一个App_Themes目录,还有一个ASP.NET网站的母版页。
我可以根据母版页使用2个不同的主题吗?
答案 0 :(得分:6)
MSDN有一篇关于ASP.NET Master Pages And Themes
的文章您无法直接应用ASP.NET 主页到主页面。如果你添加一个 @ Master的主题属性 指令,页面会引发一个 运行时出错。
但是,主题应用于master 这些情况下的网页:
如果内容中定义了主题 页。母版页在解决 内容页面的上下文,所以 内容页面的主题适用于 主页也是。
如果整个网站已配置 通过包含主题来使用主题 页面元素中的定义 (ASP.NET设置架构)元素。
除上述内容外,您还可以看到有关Themes and Skins的部分。你可以change theme programmatically
来自MSDN的示例
protected void Page_PreInit(object sender, EventArgs e)
{
switch (Request.QueryString["theme"])
{
case "Blue":
Page.Theme = "BlueTheme";
break;
case "Pink":
Page.Theme = "PinkTheme";
break;
}
}
但你不能同时使用两个主题,这没有任何意义。但是,您可以根据使用的母版页更改主题。
要在评论中回答您的问题,是的,您可以为不同的子文件夹设置不同的主题。这是来自MSDN:
Web.config文件中的主题设置 适用于所有ASP.NET网页 那个申请。主题设置 Web.config文件遵循正常 配置层次结构约定 例如,仅应用主题 一个页面的子集,你可以把 用自己的文件夹中的页面 Web.config文件或创建一个 根Web.config文件中的元素 指定一个文件夹。有关详情,请参阅 配置特定文件和 子目录。