31

我有一个 ASP.Net 2.0 站点并希望将其转换为 MVC 范例(我是新手),但从零开始。

我的旧站点中有一些主题,但在这里和那里阅读,似乎主题不太适合 MVC 范式。

问题是:

MVC 中构建主题用户可定制站点的最佳实践是什么?如果适用,你能举一个小例子吗?

注意:我知道这一点,但他们没有谈论最佳实践或如何开始。

4

4 回答 4

26

这是我一直用于在 ASP.NET MVC 中实现“主题”的代码:

ASP.NET MVC:使用自定义 ViewEngine 实现主题文件夹

当您能够只换出 CSS 文件来更改主题时,这很好,但在很多情况下这真的不是很实用。特别是当每个主题需要有完全不同的布局时。在这种情况下,您需要更改渲染的 CSS 和 HTML,这就是我编写上述链接中的代码的原因。

于 2009-04-21T23:52:17.537 回答
21

干净、语义正确的 HTML 和良好的 CSS 是任何 Web 应用程序主题的方式,无论是 ASP.NET、RoR、PHP 等。

CSS 力量的最好例子是CSS Zen Garden

w3schools 有一个很好的 CSS 介绍/教程

您的每个用户都可以有一个关联的样式表,该样式表将在适用时被选中,即:

<link rel="stylesheet" type="text/css" href="<%= Model.SelectedStyleSheet %>"/>
于 2009-04-20T20:20:21.173 回答
2

由于主题旨在设置标签样式,因此您可以使用 CSS 创建类似的方法。我可能会建议您从将默认主题复制到 css 定义开始,例如

html: <input type="button" />

CSS:输入{颜色:浅蓝色}

然后,对于任何具有非默认主题的内容,您只需对它们应用类即可。将所有主题重写为 CSS 需要一段时间,但一旦完成,就值得付出努力。

于 2009-04-20T20:50:09.510 回答
1

jQuery-ui主题很好,实现起来也不难。

只需链接到 js 和 css 文件,不要忘记图标。并确保在这些链接中使用 Url.Content()。否则,一旦您将其部署到生产服务器上,它可能不会链接到正确的路径(我曾经陷入过那个陷阱)。

于 2009-04-20T20:37:06.827 回答