2013-09-25 6 views
1

이상한 문제가 있습니다. Visual Studio에서 로컬로 웹 응용 프로그램을 디버깅 할 때 모든 것이 완벽하게 작동합니다.웹 응용 프로그램을 iis에 배포 할 때 Masterpage가로드되지 않습니다.

그러나이 웹 응용 프로그램을 IIS에 배포하면 웹 응용 프로그램이 site.master 파일없이로드됩니다.

아래 비주얼 스튜디오 이미지를 통해 로컬로 실행 : enter image description here

하지만 IIS에로드 할 때, 그것은 아래와 같이 제공됩니다. enter image description here

아무도 정확하게 문제가 무엇인지 압니까?

CSS가로드되지 않았습니다. enter image description here

+1

일부 CSS를 찾지 못했습니다 ... 브라우저 도구를 보면 잘못된 상대 경로가 있습니다. – Aristos

+0

당신이 맞습니다,하지만 어떻게하면이 문제를 해결할 수 있습니까? 저는 VS를 통해 로컬 웹 서버에 배포했고 거기에 CSS 파일을 볼 수 있습니다. 위의 그림을보십시오 –

+0

'site.master' 파일이 실제로 서버에 있는지 확인 했습니까? .aspx 페이지의'MasterPageFile = "~/Site.Master"가 마스터 페이지를 올바르게 가리키고 있는지 확인 했습니까? – Kev

답변

0

Visual Studio에는 실행할 준비가되어 있으며 cassini이라는 작은 웹 서버를 사용할 수 있습니다. /SiteName/homeDirectory 당신이 어떤 CSS로 홈 디렉토리에있는 모든 페이지가 때처럼 (예를 들어)에 액세스 할 수 있습니다 :

이 웹 서버에서 웹 프로젝트를 개발할 때, 귀하의 사이트의 루트는 예를 들어, 하나의 디렉토리 아래

당신이 IIS에서 실행할 경우

css/myStyle.css

하지만, 홈 디렉토리는 이제 아마 루트이며, 사이트 이름은 더 이상 존재하지 않습니다.

이제 상대 경로가 변경되고 동일한 CSS에 액세스하려고하면 실패 할 수 있습니다. 찾기 시작하는 브라우저에 알려 상체에 /를 추가

/css/myStyle.css

으로 이제 같은 파일이 작성해야 액세스하는 것입니다.

페이지에 우리는 일반적으로 경로에 앞에 ~을 추가하고 컴파일러는 웹 페이지의 루트 경로로 기호를 변경하지만 추가하지 않으면 매우 쉽게 상대 경로를 찾을 수 있습니다 파일.

그래서 상대 경로를 확인하고 간단하게 수정하십시오.

관련 문제