Лично я думаю, что это был бы действительно "хакерский" способ реализовать и поддерживать в долгосрочной перспективе.
Почему бы вам не использовать вместо них параметры Url?
Пример. Конкретная реализация будет выглядеть примерно так:
public ActionResult BackGroundColorChangerAction(string color = "") { // <- Providing a default value if no value was defined
ViewData["backgroundColor"] = color; // Or do some processing first
return View();
}
Теперь нам нужно отобразить значение в нашем представлении. Благодаря ViewData
мы можем легко представить наши представления с правильными данными:
...
<body>
<div>
<h2>Your Current Color: <b><%: ViewData["backgroundColor"] %></b></h2>
<%: Html.ActionLink("Red", "BackGroundColorChangerAction", new { color = "red" }) %><br />
<%: Html.ActionLink("Green", "BackGroundColorChangerAction", new { color = "green" }) %><br />
<%: Html.ActionLink("Blue", "BackGroundColorChangerAction", new { color = "blue" }) %><br />
</div>
</body>
...
Теперь вы можете делать абсолютно все с полученным значением ViewData ["backgroundColor"].
Подключите его с помощью JavaScript, и вы сможете легко переключать цвета в ваших HTML-элементах.
Я сделал это с фиксированными строковыми значениями для ссылок и необязательными параметрами, но вы можете легко настроить Enum
или таблицу базы данных, которая содержит эти данные.