RouteData
개체를 통해 기존 경로의 일부를 꺼내서 URL을 재구성 할 수 있습니다.
<%=Url.RouteUrl(new { controller = ViewContext.RouteData.Values["controller"],
action = ViewContext.RouteData.Values["action"] }) %>
당신은 추가 "페이지와 URL을 생성하는 사용자 정의 확장 방법과 같이 갈 수있다, 당신은 시작하려면 : 예를 들어, 다음은 현재 경로의 컨트롤러와 액션과 URL을 렌더링 할 "매개 변수. 필요에 따라 조정 : 페이지 URL에 실제 세그먼트가 아니면 그냥 쿼리 문자열로 추가 여부를
public static string UrlWithPage(this UrlHelper urlHelper, string name, int page)
{
string url = urlHelper.RouteUrl(
new {
controller = urlHelper.RequestContext.RouteData.Values["controller"],
action = urlHelper.RequestContext.RouteData.Values["action"],
id = urlHelper.RequestContext.RouteData.Values["id"],
page = page
}
);
return "<a href=\"" + url + "\">" + name + "</a>";
}
이것은 라우팅 구성에 따라 올바른 형식의 링크를 구성합니다.
내가 경로에있는 매개 변수의 수는 일정하지? . 나는 10 개를 가질 수도 있고, 예를 들어 1 개만 가질 수도 있습니다. –
나는 다른 대답이 없기 때문에 이것을 받아 들여야 할 것이다. :) –