代码之家  ›  专栏  ›  技术社区  ›  cfitzarl

ASP.NETMVC动态样式表

  •  0
  • cfitzarl  · 技术社区  · 14 年前

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

    这很好,但我遇到的问题是:没有一个代码在应用程序中工作。我将它包含在头代码中,但它不在代码中解析。

    我所做的一个例子是:

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

    我是这样写的:

    <link href="/style/Basic" rel="stylesheet" type="text/css" media="all" />

    有什么我做得不对吗?还是有什么问题?

    提前感谢:D

    2 回复  |  直到 14 年前
        1
  •  1
  •   James Fleming    14 年前

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

        2
  •  1
  •   MarkKGreenway    14 年前

    控制器

     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>
    

    一切都变绿了