-1

我正在使用新的 ASP.NET MVC 领域并将其与主题混合。在没有区域的 MVC 中,我曾经通过添加来应用主题

<pages theme="ThemeName" ... > ... </pages>

到 Views 文件夹中的 Web.Config,它运行良好。现在我有一个 Areas 文件夹,每个文件夹都有自己的 Web.Config,我的主题仅适用于非区域控制器中的控制器(这很有意义)。我想更改单个 Web.Config 中的默认主题,但包含我所有文件夹的唯一主题位于根目录中,当您点击 Default.aspx 页面时会导致错误。

编辑:在 ASP.NET MVC 2 中,事实证明他们删除了网站根目录中的 Default.aspx 页面,因此您现在可以毫无问题地在根 Web.Config 中指定主题,并且它适用于以下区域由于文件夹结构。

除此之外,我也不明白“主题不一定适合 MVC 范式”。MVC 中的一个主要概念是通过抽象层分离关注点。我看不出有什么理由不能将视图抽象为两个单独的实体,即在用户界面中的给定点显示的数据以及数据样式化的主题。

我有两个问题:

  1. 是否可以为此类项目在单个 Web.Config 中指定主题?[在编辑中解决。]
  2. 为什么主题不能很好地适应 MVC 范式?
4

3 回答 3

3

Asp.Net 主题与 Asp.Net 紧密集成(具有许多特定的挂钩点:创建 Arnis 提到的配置文件;具有<head runat="server">标签等),要使其与 MVC 一起使用,您需要在主要 MVC 组件之间创建连接这本质上违背了 MVC 的目的(关注点分离)。

于 2009-10-17T15:54:32.443 回答
2

简单的。

主题在 MVC 范式中并不合适,因为管理主题属于表示层,而 UI 相关的东西应该由它专门处理。

使用主题时 - 您是在告诉您将如何在控制器甚至模型中显示某些内容(即 - 您为每个用户或其他内容创建配置文件),这与上述范式发生冲突。

但不要忘记 MVC 不是宗教。

于 2009-10-13T08:59:51.350 回答
-2

扔掉WFVE。安装 Spark。阅读有关主题的文档。实施。享受。

于 2009-10-20T02:02:39.383 回答