Request.QueryString在MVC3中的_Layout.cshtml中不起作用

时间:2011-06-07 19:06:13

标签: asp.net-mvc asp.net-mvc-3 request.querystring

我遇到了MVC3的奇怪问题 - 如果我在_Layout.cshtml文件中尝试使用Request.QueryString["bookID"],它总是返回一个空字符串。如果我将其移动到继承此页面的任何页面,它可以正常工作。

与此类似的大多数问题似乎都是基于webforms和母版页,因此通常的修复似乎不适用。

其他人遇到此问题? 应该这项工作,也许MVC对我来说很奇怪?

1 个答案:

答案 0 :(得分:3)

您不应该在视图中访问Request - 这不是MVC方法。这是控制器的责任。

您不必直接访问QueryString - 这就是路由的用途。在您的操作方法中添加int bookID参数,MVC将为您传递正确的值。在操作内部,您可以将其添加到ViewBag,或者更好地填充强类型视图的模型类。