2016-07-12 4 views
0

Url.RouteUrl을 사용하여 내 사용자에게 반환 할 URL을 만듭니다.MVC에서 URL을 생성하는 방법은 무엇입니까?

var path = Url.RouteUrl(new RouteValueDictionary() 
      { 
       { "controller", "Home"}, 
       {"action", "myaction"}, 
       {"area" , "myarea"}, 
      }); 

이 나에게 myarea/home/myaction

나는 그것에 추가 PARAM를 추가 할 필요가 myarea/home/myaction?param1=abc처럼 말한다면 가진 좋은 URL을 반환, 어떻게 수행 할 수 있습니다?

나는

이 될하지 않는 방법처럼 보인다
var param1Value = "abc"; 
var path = Url.RouteUrl(new RouteValueDictionary() 
      { 
       { "controller", "Home"}, 
       {"action", "myaction"}, 
       {"area" , "myarea"}, 
       new {param1 = param1Value }, 
      }); 

을 시도했다.

어떤 방법으로이 작업을 수행 할 수 있습니까?

+0

@KennethK을 : 가능하면, 예를 게시 할 수 있습니까? –

+0

이전 (삭제 된) 주석을 무시하십시오. 나는 당신의 코드를 잘못 읽었다. –

+0

다음은 귀하의 요청과 유사합니다. http://stackoverflow.com/questions/6995608/appending-param-to-mvc-routes – Kami

답변

0

우아한 방법을 찾아 냈습니다.

var myDesiredUrl = FetchDomainUri(); 

myDesiredUrl.Path = Url.RouteUrl(new RouteValueDictionary() 
{ 
    { "controller", "Home" }, 
    { "action", "myAction" }, 
    { "area" , "myArea" }, 
}); 

myDesiredUrl.QueryString.Add("myParam1", param1Value); 
0

희망이 도움이됩니다 : 당신이 그것을에 PARAM를 추가하려면

return (new RedirectToRouteResult(
        new System.Web.Routing.RouteValueDictionary(
         new 
         { 
          controller = "Home", 
          action = "myAction", 
          area = "myArea" 
         }))); 

, 당신은 추가/경로 구성 파일의 경로를지도를 수정할 수 있습니다. 새 키가 추가되면 위의 코드에서 값을 지정할 수 있습니다.

1

이 시도 :

Url.Action("myAction","Home", new {area="myarea", param="paramvalue"}); 
관련 문제