【问题标题】:Get parameter from url asp.net mvc 4从 url asp.net mvc 4 获取参数
【发布时间】:2016-04-27 05:13:13
【问题描述】:

我想从下面的 url 中获取参数:

www.domain.com/Controller/Action/Parameter

在我的控制器中:

public ActionResult Action()
{
    //some codes
}

用户如上输入 url 并应导航特定控制器。如何在控制器的 Action 中获取“参数”?

【问题讨论】:

  • 更改您的方法以包含参数 - 例如public ActionResult Action(string id) 假设您使用默认路由(在您的示例中,id 的值将是 "Parameter"

标签: c# asp.net-mvc-4 controller url-parameters


【解决方案1】:

你需要两件事: 1)为您的操作添加参数,即: 动作(字符串参数,...)

2) 配置路由告诉mvc如何将路由数据映射到参数。 默认 mvc 路由配置为将 /## 映射到“id”参数,但您可以根据需要添加更多路由来映射其他参数。例如,将此行添加到您的 App_Start/RouteConfig.cs 文件中:

routes.MapRoute( 名称:“自定义路由”,
网址:“{controller}/{action}/{param} );

请注意,“{param}”与您的操作参数的名称相匹配。

【讨论】:

    【解决方案2】:

    例子

    public ActionResult Action()
    {
        string param1 = this.Request.QueryString["param"];
    }
    

    【讨论】:

      【解决方案3】:

      当有人像上面的例子一样输入 url 时,你可以这样做来获取你控制器中的段值。

      网址:www.domain.com/Controller/Action/Parameter

      控制器:

      public ActionResult Action()
      {
          string parameter = this.Request.Url.Segments[segmentIndex];
          //The segmentIndex in the url above should be 3 
      }
      

      【讨论】:

        猜你喜欢
        • 2017-01-13
        • 1970-01-01
        • 1970-01-01
        • 2011-06-27
        • 1970-01-01
        • 2010-10-06
        • 1970-01-01
        • 2013-10-25
        • 2018-04-08
        相关资源
        最近更新 更多