Включение / отключение CSS на основе значения сеанса с использованием MVC - PullRequest
0 голосов
/ 06 октября 2010

Я довольно новичок в приложениях MVC, и я пытаюсь сделать одну вещь - включить или отключить таблицы стилей на основе значения Session.

На моей странице Site.Master есть ссылки на таблицы стилей следующим образом:

<% = Html.Stylesheet ("~ / styles / main.css", "string")%> <% = Html.Stylesheet ("~ / styles / extensions.css", "string")%>

Прямо сейчас для тестирования я поместил оператор if вокруг тегов Html.Stylesheet, говоря:

<% if (Session ["cssRule"] = "enableCss") {%>

<% = Html.Stylesheet ("~ / styles / main.css", "screen")%> <% = Html.Stylesheet ("~ / styles / extensions.css", "screen")%>

<%}%>

Так что, если значение сеанса 'cssRule' равно нулю, CSS не загружается. В настоящее время это работает нормально, но это не совсем то, что я ищу. Прямо сейчас я устанавливаю значение Session в контроллере, когда пользователь входит в систему, но в конечном итоге мне нужно установить значение переменной Session в зависимости от того, нажимает ли пользователь кнопку включения или отключения. Поскольку я в основном использовал веб-формы в течение последних полутора лет, я просто хочу удалить гиперссылку и назначить для нее событие, но, увы, это будущее MVC, поэтому мне нужно выяснить, как я могу сделать что-то вроде это ..

Таким образом, мой реальный вопрос заключается в том, как мне установить Session для значения "cssRule", щелкнув ссылку с помощью MVC?

1 Ответ

0 голосов
/ 06 октября 2010

Я предполагаю, что вы хотите использовать стандартную ссылку (не ajax), и что ваш основной вид - Index

Просто добавьте метод в свой контроллер (псевдокод)

public ActionResult ToggleCSS()
{
    if (Session["cssRule"] != null && Session["cssRule"] == "enableCSS") 
    {
          Session["cssRule"] = "disableCSS";
    }
    else
    {
          Session["cssRule"] = "enableCSS";
    }
    return View("Index");
}

Тогда, по вашему мнению, используйте

<%= Html.ActionLink("ToggleCSS", "ControllerName") %>

Вы можете использовать множество причудливых различных методов для получения одного и того же результата; используйте ajax и перенесите страницу, или нет, или перенаправьте на страницу со списком css-файлов для применения и т. д. ... но этот должен работать

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