2012-04-24 4 views
5

가능한 중복 :
How to I find the absolute url of an action in ASP.NET MVC?
Asp MVC Action link absolute urlMVC에서 전체 URL을 생성 하시겠습니까?

안녕,

가 특정 작업에 대한 전체 URL을 생성하는 쉬운 방법이 있나요? 나는 이것을 시도했다 :

urlHelper.Action("Action", "Controller") 

그러나 이것은 "\"를 생성한다.

BestRegards

편집 1 : 나는이 시도했다 :

urlHelper.Action("List", "Ad", null, "http"); 

그러나 그것은 단지 반환 : 로컬 호스트 : 16,055. 나는 localhost : 16055/Ad/List와 같은 것을 기대하고 있었습니까?

+0

보기의 컨텍스트 또는 컨트롤러 코드입니까? – Tejs

+0

호스트/프로토콜 정보를 앞에 추가 하시겠습니까? –

답변

15

사용 Html.ActionLink ("링크 제목", "액션", "컨트롤러")

전체 링크 사용을 생성하려면 :

@Html.ActionLink("Link Title", "Action", "Controller", "http", "www.mysampledomain.com", 
       "_blank", new {id = paramValue}, new { @class="someClass" }) 

모든 매개 변수를 사용하여 확장 과부하가 당신 지정할 수 있습니다. 컨트롤러에서 생성이 MSDN 문서 http://msdn.microsoft.com/en-us/library/dd492938.aspx

에서보세요이 코드를 사용 :

var url = UrlHelper.GenerateUrl(null, "MyAction", "MyController", "http", "www.mydomain.com", String.Empty, null, RouteTable.Routes, this.ControllerContext.RequestContext, false); 

url 변수가 URL의 캐릭터 라인 표현이 포함됩니다. 그것을해야

@ViewBag.MyUrl 

:보기에서

ViewBag.MyUrl = UrlHelper.GenerateUrl(null, "MyAction", "MyController", "http", "www.mydomain.com", String.Empty, null, RouteTable.Routes, 
             this.ControllerContext.RequestContext, false); 

과 같이 호출 : 당신은 같은 ViewBag에 저장할 수 있습니다.

+0

컨트롤러 작업에서 어떻게해야합니까? – Banshee

+2

Html.ActionLink는 링크를 생성합니다. 전체 URL을 원하면 Url 도우미 인 Url.Action을 사용하십시오. 이 메서드의 오버로드 중 하나는 스키마를 지정할 수있게하고 그렇게하면 http : // localhost : 1234/controller/action –

+0

과 같은 정규화 된 URL이 생성됩니다. Html.ActionLink에는 전체 링크를 만들 수있는 과부하가 있습니다. –

0

url.action은 URL 상대를 생성합니다. 절대 URL을 생성하려면 다음을 참조하십시오. How do I find the absolute url of an action in ASP.NET MVC?

+0

나는 이것을 시도했다 : urlHelper.Action ("List", "Ad", null, "http"); http : // localhost : 16055 /를 반환합니다. 나는 http : // localhost : 16055/Ad/List와 같은 것을 기대하고 있었습니까 ?? – Banshee

관련 문제