ASP.NET MVC Динамические таблицы стилей - PullRequest
0 голосов
/ 24 августа 2010

Проект, над которым я работаю, позволяет конечному пользователю модифицировать код CSS, чтобы наилучшим образом интегрировать приложение. Большинство значений CSS хранятся в базе данных и должны извлекаться и анализироваться динамически.

Я установил контроллер стилей, дал каждой таблице стилей действие, а затем передал данные конфигурации в представление. Я установил ContentType на «text / 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" />

Когда я включаю код CSS в частичное представление и включаю его, используя ViewModel (в тегах стиля) в действии, тогда все работает нормально. Это когда я пытаюсь разобрать это как отдельный файл, когда он не работает.

Что-то я делаю неправильно? Или есть какой нибудь глюк?

Заранее спасибо: D

Ответы [ 2 ]

1 голос
/ 24 августа 2010

Контроллер

 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>

Включает все зеленым

1 голос
/ 24 августа 2010

Используйте инструмент, такой как HTTPWatch, чтобы убедиться, что таблица стилей отправляется, а не 404'd

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...