mvc3 razor,Helper中的CSS

时间:2012-03-12 14:45:44

标签: css asp.net-mvc-3 razor helper

在mvc 3 razor项目中,我有一个帮助器,可以创建一个组件。我可以使用这个帮助器在同一页面中创建所需数量的组件。

我有不同的文件夹,包含css文件及其图像。

我可以从帮助程序指定每个组件的css样式吗?

@html.MyComponent(100, 200, "pink")将使用粉红色文件夹中的style.css。

Ps:我没有使用html5和css3

3 个答案:

答案 0 :(得分:1)

如果您使用类而不是文件,那将更容易。我会为主题使用不同的样式。你应该看看这个问题:ASP.NET MVC 3, how to do themes right

答案 1 :(得分:0)

ASP.NET MVC 3 Razor: Include JavaScript file in the head tag

我认为可以应用同样的事情,但我不知道你是否可以从帮手那里做到。

答案 2 :(得分:0)

如果您这样做的话 - 那么

  1. 您需要选择顶部的css文件为粉红色
  2. 您需要在加载时包含所有样式表。
  3. 您需要在MyComponent请求时动态包含样式表。这很难,因为你可能最终加倍包括他们。您可以通过ActionFilter来完成此操作,最后写出css标签,但这是一个黑客,我不推荐它。
  4. 坚持使用常规,应在顶部请求您的样式,因此您需要知道您在页面上使用的样式。您的组件不应该关心加载样式表,它应该已经加载,这意味着您必须在页面顶部做出此决定。由于您此时已经“知道”了这些名称(粉红色等),您可以轻松地在顶部编写代码,通过简单的方式请求这些文件

    
    <LINK href="@string.Format("/{0}/style.css",YourStyleSheetnameIePinkInThisExample)" rel="stylesheet" type="text/css">