我有一个 ASP.Net 2.0 站点并希望将其转换为 MVC 范例(我是新手),但从零开始。
我的旧站点中有一些主题,但在这里和那里阅读,似乎主题不太适合 MVC 范式。
问题是:
MVC 中构建主题用户可定制站点的最佳实践是什么?如果适用,你能举一个小例子吗?
注意:我知道这一点,但他们没有谈论最佳实践或如何开始。
我有一个 ASP.Net 2.0 站点并希望将其转换为 MVC 范例(我是新手),但从零开始。
我的旧站点中有一些主题,但在这里和那里阅读,似乎主题不太适合 MVC 范式。
问题是:
MVC 中构建主题用户可定制站点的最佳实践是什么?如果适用,你能举一个小例子吗?
注意:我知道这一点,但他们没有谈论最佳实践或如何开始。
这是我一直用于在 ASP.NET MVC 中实现“主题”的代码:
ASP.NET MVC:使用自定义 ViewEngine 实现主题文件夹
当您能够只换出 CSS 文件来更改主题时,这很好,但在很多情况下这真的不是很实用。特别是当每个主题需要有完全不同的布局时。在这种情况下,您需要更改渲染的 CSS 和 HTML,这就是我编写上述链接中的代码的原因。
干净、语义正确的 HTML 和良好的 CSS 是任何 Web 应用程序主题的方式,无论是 ASP.NET、RoR、PHP 等。
CSS 力量的最好例子是CSS Zen Garden。
w3schools 有一个很好的 CSS 介绍/教程。
您的每个用户都可以有一个关联的样式表,该样式表将在适用时被选中,即:
<link rel="stylesheet" type="text/css" href="<%= Model.SelectedStyleSheet %>"/>
由于主题旨在设置标签样式,因此您可以使用 CSS 创建类似的方法。我可能会建议您从将默认主题复制到 css 定义开始,例如
html: <input type="button" />
CSS:输入{颜色:浅蓝色}
然后,对于任何具有非默认主题的内容,您只需对它们应用类即可。将所有主题重写为 CSS 需要一段时间,但一旦完成,就值得付出努力。
jQuery-ui主题很好,实现起来也不难。
只需链接到 js 和 css 文件,不要忘记图标。并确保在这些链接中使用 Url.Content()。否则,一旦您将其部署到生产服务器上,它可能不会链接到正确的路径(我曾经陷入过那个陷阱)。