ASP.NET MVC5,Url参数和Get方法

时间:2016-01-18 04:32:02

标签: asp.net-mvc

使用RouteData.Values是从GET方法获取Url参数的正确方法吗? 例如网址:http://www.mywebsite.com/Product/Search/Apple 在控制器中,方法参数不会像POST方法那样绑定url参数。 或者我可以做的事情,所以无论是POST还是GET,参数都会自动绑定到方法参数?

路线:

 context.MapRoute(
      "Product_Search",
      "{controller}/{action}/{Keyword}",
      new { controller = "Product", action = "Search", Keyword = "" }
 );

控制器:

  [HttpGet]
    public ActionResult Search(string keyword) //< the keyword here is null
    {    
        string keyword = Convert.ToString(RouteData.Values["SearchText"]); //<keyword here is fine = 'Apple'.
       // Do search 

        return View("SearchResult", viewModel);
    }

1 个答案:

答案 0 :(得分:0)

模型绑定将与GET和POST一起使用。 看起来你的关键字参数有一个小写的k。您的路由定义使用大写K.如果您修复了这些不一致,它应该可以工作