如何在ASP.Net MVC View中访问查询字符串?

时间:2010-05-22 12:44:36

标签: asp.net-mvc razor

如何在视图中访问querystring值?

5 个答案:

答案 0 :(得分:59)

在视图中访问查询参数不是一个好的设计。视图应使用控制器提供的模型。因此控制器读取查询参数并将它们传递给视图。如果您想忽略此规则,您可以随时在视图中执行此操作:

<%= Request["SomeParameter"] %>

但我强烈反对你这样做。

答案 1 :(得分:20)

在View中,您可以直接访问它。不需要在Controller中编写任何代码,尽管你可以。

例如 - 如果您的查询字符串具有名为id的参数,则类似于?id = 1

Razor语法:

@Request.QueryString["id"]

答案 2 :(得分:7)

我会读取Controller中的查询字符串值,然后将该值设置为ViewBag中的属性。然后可以从视图中读取ViewBag属性。

e.g:

ViewBag.MyQSVal = Request.QueryString["myValue"];

然后,在您的视图中:

@if(ViewBag.MyQSVal == "something"){ ... }

答案 3 :(得分:0)

正如Darin建议你不要在视图中使用Querystring。但有一点是你可以在你的视图中访问Request变量,因为它的Asp.Net,如果你访问它,你就拥有了那里的所有函数和成员

答案 4 :(得分:0)

要在 .Net Core 中执行此不良做法

@Context.Request.Query["SomeParameter"]