50

如何访问querystring视图中的值?

4

5 回答 5

66

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

<%= Request["SomeParameter"] %>

但我强烈反对你这样做。

于 2010-05-22T12:47:13.220 回答
22

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

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

剃刀语法:

@Request.QueryString["id"]
于 2015-03-27T12:14:25.297 回答
10

.Net 核心中:

@Context.Request.Query["SomeParameter"]
于 2019-01-14T17:45:44.130 回答
8

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

例如:

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

然后,在您的视图中:

@if(ViewBag.MyQSVal == "something"){ ... }
于 2014-11-06T03:45:46.480 回答
0

正如 Darin 建议的那样,您不应在视图中使用 Querystring。但有一件事是您可以在视图中访问 Request 变量,因为它的 Asp.Net 并且如果您访问它,您将拥有那里存在的所有函数和成员

于 2011-02-02T19:26:03.293 回答