2012-07-20 3 views
0

내 응용 프로그램의 모든보기에서 공유되는 레이아웃 페이지가 있습니다. 그보기 내 애플 리케이션에서. CSS를 참조하십시오. 내가 폰갭을 통해 전화 응용 프로그램에이 응용 프로그램 로딩을 복용 계획입니다ASP.NET MVC 3에서 가상 경로 사용

<link rel="stylesheet" href="/css/themes/default/app.css" /> 

: 참조를 위해서, 나는 현재 내 _layout.cshtml 파일의 맨 위에 다음 있습니다. 그렇기 때문에 /css/themes/default.app.css를 사용할 수 없습니다. 대신 파일 경로와 관련된 문자열로 변환해야합니다. 예를 들어, 동적으로 다음과 같은 형태의 값을 생성해야합니다

<link rel="stylesheet" href="../../../css/themes/default/app.css" /> 

얼마나 깊이에 따라 "../"결정됩니다의 수입니다. ASP.NET MVC 3 프레임 워크에 내장 된 유틸리티 나 무언가가있을 것이라고 생각했습니다. 그러나 나는 아무것도 찾을 수 없습니다. 파일이 많아서 URL 패턴을 모두 수동으로 업데이트하고 싶지 않습니다. 구현하려고하는 것을 자동으로 처리 할 유틸리티가 있습니까? 그렇다면 어떻게?

답변

1

UrlHelper.Content HTML 도우미 메서드를 사용하여 감사드립니다.

이 메서드는 가상 (상대) 경로를 응용 프로그램 절대 경로로 변환합니다.

<link href="@Url.Content("~/css/themes/default/app.css")" 
             rel="stylesheet" type="text/css" />  

당신은 내가 Url.Content를 사용할 때

+0

, 그것은 "~/CSS/테마를 변환하여 MVC 프로젝트의 루트에 Content 디렉토리 아래 css 폴더를 삭제할 수/기본/app.css "를"/css/themes/default/app.css "로 변경하십시오. 그래도 내가 필요한 것은 "../../css/themes/default/app.css" –

+0

그 파일들이 루트 밖에 있습니까? – Shyju

+0

나는 잘 모르겠다. MVC에서 전체 라우팅 물건은 정기적으로 나를 혼란스럽게합니다. MVC.csproj/resources에 내 css 디렉토리가 있고 내 cshtml 파일이 MVC.csproj/Views에 있습니다. –