【问题标题】:how to access querystring in ASP.Net MVC View?如何在 ASP.Net MVC 视图中访问查询字符串?
【发布时间】:2011-02-22 16:55:43
【问题描述】:

如何访问视图中的querystring 值?

【问题讨论】:

  • 从来没有听说过有人需要在 asp.net mvc 中做这样的事情,可能你想访问它一个非常简单的 Action cuz
  • 您确定在 MVC 中需要查询字符串吗?也许举一个你想要的例子。

标签: asp.net-mvc razor


【解决方案1】:

.Net Core 中:

@Context.Request.Query["SomeParameter"]

【讨论】:

    【解决方案2】:

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

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

    剃刀语法:

    @Request.QueryString["id"]
    

    【讨论】:

    • 错误 CS0103 当前上下文中不存在名称“请求”
    【解决方案3】:

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

    例如:

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

    然后,在您的视图中:

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

    【讨论】:

      【解决方案4】:

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

      【讨论】:

        【解决方案5】:

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

        <%= Request["SomeParameter"] %>
        

        但我强烈反对你这样做。

        【讨论】:

          猜你喜欢
          • 2010-10-10
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2012-12-24
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2012-08-19
          相关资源
          最近更新 更多