在视图中访问params哈希 - ASP.NET MVC3

时间:2012-01-04 02:19:18

标签: c# asp.net-mvc asp.net-mvc-3 razor

我想在(Razor)View中访问请求参数。例如,bgColor设置页面的背景颜色。在View中,我需要设置Request["bgColor"] ?? "red"。与RubyOnRails相反,除了Request对象之外,我们在每个请求中都有params哈希,并且可以在控制器中访问param哈希以及该请求的呈现视图(params[:bgColor]),这将是什么在Razor-View中访问请求参数的最佳方式:

  • 请求[ “PARAMNAME”]
  • 将其推送到控制器中的ViewBag.bgColor?
  • 是否有任何参数对象/哈希(如在RoR中发生)包含所有请求参数,无论它们是否在动作的参数列表中捕获?

1 个答案:

答案 0 :(得分:2)

  

我想在(Razor)视图中访问请求参数

在正确设计的ASP.NET MVC应用程序视图中,除了从控制器操作传递给它的视图模型之外,不会访问任何其他内容。视图不应该尝试从请求,会话,Cookie,数据库中提取数据......视图可以与视图模型一起使用。就背景颜色而言,编写一个自定义HTML帮助器,它将在请求中查找某个参数并生成相应的标记,这似乎是一个很好的解决方案。