使用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);
}
答案 0 :(得分:0)
模型绑定将与GET和POST一起使用。 看起来你的关键字参数有一个小写的k。您的路由定义使用大写K.如果您修复了这些不一致,它应该可以工作。