2011-01-10 4 views
0

기본 색인 작업뿐만 아니라 각각의 고유 한보기를 렌더링하는 다른 많은 작업이있는 컨트롤러가 있습니다.원본 Uri/라우트 값을 그대로 유지하면서 ActionLink 생성하기

작업 방법은 다른 작업을 호출

, 브라우저에서 열린 우리당은 아직도 예를 들어,이 같은 내 템플릿 중 하나에서 작업 링크를 만들고, 얼마나

http://localhost/Home/Events/20100120/Sydney

같은 뭔가를 유지하다 다른 경로 값? http://localhost/Home/Events/20100120/Sydney/10PM

이렇게하면 Uri에서 다른 모든 경로 값을 잃게됩니다.

<%= Html.ActionLink("View 10PM times", "Events", "Home", new Dictionary<string, object>() { {"time", "10PM"} })%> 

답변

0

경로 데이터는 자동으로 보존됩니다.

routes.MapRoute(
    "MyRoute", 
    "foo/{token1}/{token2}/{action}", 
    new { controller = "Home", action = "Action1", token1 = "", token2 = "" } 
); 

지금 당신이 /foo/t1/t2/Action1를 요청하고 뷰 내부는 Action2에 대한 링크 쓰기 :

<%= Html.ActionLink("Action2", "Action2")%> 

다음 URL이 생성됩니다 /foo/t1/t2/Action2를 다음과 같은 경로를 가지고 있다고 가정하자. 경로 값은 유지됩니다.

0

당신은 Html.RouteLink()과 같이 사용할 수 있습니다

<% 
    var routeData = new RouteValueDictionary(this.ViewContext.RouteData.Values); 
    routeData.Add("time", "10PM"); 
%> 
<%=Html.RouteLink("View 10PM times", routeData) %> 
관련 문제