2012-02-20 2 views
22

내 cshtml 페이지에서 동적으로 URL을 생성하는 중입니다. Url.RouteUrl()의 차이점은 무엇입니까 & Url.Action()?MVC3의 Url.RouteUrl() 및 Url.Action()의 차이점

URL을 생성하려면 어느 것을 사용해야합니까? & 구현의 차이점은 무엇입니까?

미리 감사드립니다.

답변

45

RouteUrl 경로 이름을 기반으로 URL을 생성했습니다. 비슷한 매개 변수를 가진 경로가 여러 개있는 경우 Action 메서드가 잘못된 경로를 선택합니다. 경로 정의의 순서에 따라 작동합니다. 경로에 선택적 매개 변수가있는 경우이 작업이 수행 될 수 있습니다.

특정 경로 URL을 사용하려면이 경로 이름을 RouteUrl (으)로 호출해야합니다. 경로 이름은 고유하며 경로를 명확하게 나타냅니다.

ActionRouteUrl이 일반적이며 MVC없이 사용할 수 있지만 (WebForms에서 라우팅 할 수 있음) Action은 MVC 전용 (컨트롤러 및 작업 이름 사용)이라는 점이 다릅니다.

16

Url.RouteUrl을 사용하면 특정 경로를 이름으로 지정할 수 있습니다. 이것은 그 경로의 사용합니다. Url.Action은 기준과 일치하는 첫 번째 경로를 선택합니다.

+0

이것은 또한 Url.RouteUrl이 Url.Action보다 성능 측면에서 더 뛰어나다는 것을 의미합니다. – Ranganatha