我正在创建一个MVC 4应用程序并使用路由映射来路由URL http://ModelSearch.com/Home/PartDetail/1000-1583-XIR/a
routes.MapRoute("PartDetail", "{controller}/{action}/{id}/{rev}", new { action = "PartDetail" });
可能有像“1000/1584”的身份证 http://ModelSearch.com/Home/PartDetail/的1584分之1000 / B
如何从新的mapRoute处理它?通配符不适用于中间参数。
答案 0 :(得分:1)
您可以重新排列参数,并在网址模式末尾使用Id的通配符网址段。
DataAccessException
[Route("Home/PartDetail/{rev}/{*id}")]
public ActionResult PartDetail(string rev,string id)
{
return Content("rev:"+rev+",id:"+id);
}
就像捕获任何东西一样。因此,请求网址的*id
段将映射到"1000/1584"
参数。