【问题标题】:ASP.NET MVC Dynamic StylesheetsASP.NET MVC 动态样式表
【发布时间】:2010-08-24 01:34:41
【问题描述】:

我正在进行的项目允许最终用户修改 CSS 代码以尽可能最好地集成应用程序。大部分 CSS 值都存储在数据库中,需要动态检索和解析。

我设置了一个样式控制器,给每个样式表一个动作,然后将配置数据传递给视图。我将 ContentType 设置为“text/css”,然后生成样式表。

这工作正常,但我遇到的问题是:应用程序中没有任何代码工作。我将它包含在头代码中,但它不会在代码中解析。

我做的一个例子是这样的:

<%@ Page Language="C#" Inherits="System.Web.Mvc.ViewPage<dynamic>" ContentType="text/css" %>

.element {
    background-color: <%= ViewData.Model.BackgroundColor %>;
}

我这样包含它:

&lt;link href="/style/Basic" rel="stylesheet" type="text/css" media="all" /&gt;

当我在局部视图中包含 CSS 代码并使用 ViewModel(包装在样式标签中)将其包含在操作中时,一切正常。当它不起作用时,我尝试将其解析为单独的文件。

我做错了什么吗?还是有什么问题?

提前致谢:D

【问题讨论】:

  • 当您将浏览器指向/style/Basic 时会得到什么输出?您还可以检查返回的 HTTP 标头以确保它们看起来正常。
  • 我尝试过使用与您类似的代码,当我使用这两个 sn-ps 时它可以工作。我会先检查 firebug 或 fiddler 以查看请求是否通过。要么,要么我误解了你的问题。

标签: asp.net asp.net-mvc-2


【解决方案1】:

使用诸如 HTTPWatch 之类的工具来验证样式表是向下发送的,而不是 404'd

【讨论】:

  • 当我访问样式表时,它看起来很好。这就是让我困惑的地方。
  • 我收回那条评论。结果是我忘记将 id 传递到 URL 中,这是每个控制器 =\ 所必需的。我现在感觉自己像个白痴xD。
【解决方案2】:

控制器

 public ActionResult Basic()
    {
        Response.ContentType = "text/css";
        var basicVM = new BasicVM()
                          {
                              BackgroundColor = "Lime",

                          };
        return View(basicVM);

    }

还有风景

 <%@ Page Language="C#"   Inherits="System.Web.Mvc.ViewPage<MvcApplication3.Controllers.BasicVM>"       ContentType="text/css" %>
    body {
      background-color: <%= ViewData.Model.BackgroundColor %>;
        }

和测试页

 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

 <html xmlns="http://www.w3.org/1999/xhtml" >
 <head runat="server">
     <title>Test</title>
     <link href="/Home/Basic" rel="stylesheet" type="text/css" media="all" />
 </head>
 <body>
     <div>
      Test
     </div>
 </body>
 </html>

把所有东西都变成绿色

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-01-29
    • 2013-06-18
    • 1970-01-01
    • 1970-01-01
    • 2012-02-06
    • 2019-09-28
    • 1970-01-01
    相关资源
    最近更新 更多