我是ASP.Net MVC的新手,现在遇到了问题。这里是。routes.MapRoute( "SearchResults",// Route name "{controller}/{action}/{category}/{manufacturer}/{attribute}", new { controller = "Home", action = "CategoryProducts", category = UrlParameter.Optional, manufacturer = UrlParameter.Optional, attribute = UrlParameter.Optional });这是我的控制器方法。public ActionResult CategoryProducts(string category, string manufacturer, string attribute) { string[] categoryParameter = category.Split('_'); . . . return View();}当我点击url时,类别参数始终为nullhttp://localhost:50877/Home/CategoryProducts/c_50_ShowcasesDisplays我得到这个错误Object reference not set to an instance of an object我该如何解决这个问题。我需要从细分中提取ID并使用它。同样,我也需要处理制造商和属性字符串。还有一件事我如何使我的函数获得至少一个参数而不受顺序限制?我的意思是我想做类似的功能,以便可以处理类别或制造商或属性或类别+制造商以及所有组合/
2 回答
紫衣仙女
TA贡献1839条经验 获得超15个赞
只有最后一个参数可以标记为UrlParameter.Optional
(否则路由引擎无法匹配哪个参数)。为了使当前的实现工作有效,您需要使用http://localhost:50877/Home/CategoryProducts?category=c_50_ShowcasesDisplays
- 2 回答
- 0 关注
- 506 浏览
添加回答
举报
0/150
提交
取消