2012-08-29 2 views
1

-plugin (FullCalendar)을 ASP.NET 프로젝트에 구현하려면 blog tutorial을 따르고 있습니다.Url.Content를 사용하는 것과 사용하지 않는 것의 차이점은 무엇입니까?

Url.Content 방법은 올바른 URL-S를 생성하고이 MS의 전략 (같은 href가 .... \ 내용 \ Site.css)보다 훨씬 낫다 :이 튜토리얼에서는

, 그들은 다음과 같은 주장 .

그러나 그들은 어떻게 결론에 도달했는지 설명하지 않습니다.

<script src="~/Scripts/jquery-1.4.1.js" type="text/javascript"></script> 

이 :

<script src="<%= Url.Content("~/Scripts/jquery-1.4.1.js") %>" type="text/javascript"></script> 
+0

에게 응용 프로그램에서이 응답 HTTP를 ~/ 후 지정된 URL의 경로를 해결할 수 : //스택 overflow.com/a/4414271/122005 질문에 도움이 될 수 있습니다. – chridam

+0

나는 그 질문이 기본적으로 똑같은 것을 볼 수있다. 그러나 나는 그 해답을 이해하지 못한다. –

+0

그 대답에 제공된 설명은 내가 생각하기에 그 차이를 간략히 설명하는 것에 가깝습니다. Url.Content 메서드는 경로가 항상 올바른지 확인합니다. 그러나 "~"로 시작하는 경로의 경우 URL이 올바른 응용 프로그램 상대 URL로 변환됩니다 (예 : <% = Url.Content ("~/Scripts/SomeScript.js") %>는/MyVirtualDirectory/Scripts/SomeScript.js, 웹 응용 프로그램을 웹 사이트의 루트 폴더 아래에있는 MyVirtualDirectory 가상 디렉터리에 배포 한 경우 – chridam

답변

2

"~/Scripts/jquery-1.4.1.js"

것은 위의 ~/ 이후 URL로 해결되지 않습니다 것은 의미하지 않는다


는 그래서이 차이 무엇 브라우저에 무엇이든

"<%=Url.Content("~/Scripts/jquery-1.4.1.js") %>"

Url.Content


UrlHelper.Content 방법

http://msdn.microsoft.com/en-us/library/system.web.mvc.urlhelper.content(v=vs.108).aspx

Converts a virtual (relative) path to an application absolute path. 
+0

그래서 Url.Content 없이는 상대 경로를 사용할 수 없습니까? –

+1

상대 경로는 동적 경로와 다릅니다. "/Scripts/jquery-1.4.1.js"는 상대 경로이며 응용 프로그램이 도메인의 루트에있는 경우 작동합니다 (http://mysite.com/). 그러나 응용 프로그램 루트로 http://mysite.com/foo/가되면 "/foo/Scripts/jquery-1.4.1.js"로 경로를 변경해야합니다. UrlHelper가 도움이되는 곳입니다. "~"를 "/ foo"로 대체합니다. – Pluc

관련 문제