视图中的C#剃刀url参数


68

为什么Request["parameterName"]在视图内返回null?我知道我可以从控制器中获取它,但是我必须在View中进行一点检查。我正在使用ASP.NET MVC 3。

Answers:





5

如果要在View中进行检查,请将值放在中ViewBag

在您的控制器中:

ViewBag["parameterName"] = Request["parameterName"];

值得注意的是,RequestResponse属性是由Controller类公开的。它们的语义与HttpRequest和相同HttpResponse


是的,但是我的问题是,是否可以不使用控制器而直接从View中获取它?
Shaokan

您已经声明Request [“ parameterName”]在您的视图中返回null。您的问题似乎更多是关于在View中进行检查,您可以使用此解决方案进行检查。是什么阻止了您使用ViewBag?
杰米·迪克森

1
这是一个习惯,通常我会尽量避免使用ViewBags来支持Model。
Shaokan

这个数据是模型的一部分吗?从您所说的来看,您只是想检查某种状况以便做其他事情?
Jamie Dixon

2
对于那些遇到异常“无法将[]索引应用于类型'System.Dynamic.DynamicObject'的表达式”的人,只需将ViewBag替换为ViewData(来源:forums.asp.net/t/1800747.aspx/1
亚历山德拉(Alexandra
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.