내 작업 중에 URL 재 작성 문제 하나를 해결해야합니다. 이렇게 처리 된 URL이 같아야합니다MVC4/{controler}/{id} 대신/{controler} - {id}로 라우팅하십시오.
{controller}/{action}-{id}
대신
{controller}/{action}/{id}
: 나는 템플릿으로 URL을 사용할 필요가
myController/myAction-128
(128)는 매개 변수
내 노선도 :
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
routes.MapRoute(
name: "NewRoute", // Route name
url: "{controller}/{action}-{id}/{extId}", // URL with parameters
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional, extId = UrlParameter.Optional } // Parameter defaults
);
}
컨트롤러 코드 :
[HttpGet]
public ActionResult DocumentDetails(int? id)
{
if (doc.HasValue)
{
...
}
}
이 경로가 성공적인 결과를 제공하지 않습니다. 404 오류가 여전히 있습니다. "/"대신 /를 사용하면 모든 것이 정상이지만 JS보기 환경은 작동하지 않습니다.
해결할 수있는 방법이 있습니까? 덕분에 모든 도움을 주실 수 있습니다.
감사합니다.이 코드는 작동합니다. Btw : @ "\ d +"경로의 숫자에 대한 정규 표현식입니까? –
예,'\ d +'는 하나 이상의 숫자와 일치하는 정규 표현식입니다. –