【发布时间】:2011-02-22 16:55:43
【问题描述】:
如何访问视图中的querystring 值?
【问题讨论】:
-
从来没有听说过有人需要在 asp.net mvc 中做这样的事情,可能你想访问它一个非常简单的 Action cuz
-
您确定在 MVC 中需要查询字符串吗?也许举一个你想要的例子。
标签: asp.net-mvc razor
如何访问视图中的querystring 值?
【问题讨论】:
标签: asp.net-mvc razor
在 .Net Core 中:
@Context.Request.Query["SomeParameter"]
【讨论】:
在 View 中,您可以直接访问它。无需在Controller中编写任何代码,尽管您可以。
例如—— 如果您的查询字符串具有名为 id 的参数,例如 ?id=1
剃刀语法:
@Request.QueryString["id"]
【讨论】:
我会读取控制器中的查询字符串值,然后将该值设置为 ViewBag 中的属性。然后可以从您的视图中读取 ViewBag 属性。
例如:
ViewBag.MyQSVal = Request.QueryString["myValue"];
然后,在您的视图中:
@if(ViewBag.MyQSVal == "something"){ ... }
【讨论】:
正如 Darin 建议的那样,您不应在视图中使用 Querystring。但有一件事是您可以在视图中访问 Request 变量,因为它是 Asp.Net,如果您访问它,您将拥有那里存在的所有函数和成员
【讨论】:
在视图中访问查询参数不是一个好的设计。视图应该使用控制器提供的模型。所以控制器读取查询参数并将它们传递给视图。如果您想忽略此规则,您可以随时在您的视图中执行此操作:
<%= Request["SomeParameter"] %>
但我强烈反对你这样做。
【讨论】: