就我个人而言,我认为这确实是长期实施和维护的“hacky”方式。
为什么不直接使用 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
包含此数据的数据库表或数据库表。