2011-04-27 6 views
2

첫 번째 MVC2 앱을 쓰고 있습니다. 마스터 페이지가 아름답게 작동하고있어 로컬에서 실행하면 원하는대로 작동합니다.ResolveUrl이 여분의 견적을 넣습니다.

내 문제는 전체 응용 프로그램이있는 서버에 배포한다는 것입니다. ResolveUrl이 잘못 작동하는 것 같습니다. 나는 정확한 경로를 얻는다. 그러나 어떤 이유로 든 무언가가 여분의 인용문을 삽입하고 있거나 나는 인용문을 삭제하고있다.

은 여기 내 <link> :

<link href='<%= ResolveUrl("~/Content/Site.css") %>' rel="stylesheet" type="text/css"/> 

무엇 (클라이언트 측, ASP.NET 후 그것으로 통해) 나오는 :

<link href=/vcdemo/PhotoManager/Content/Site.css" rel="stylesheet" type="text/css" /> 

은 분명히 내가 원하는 게 아니에요. Firebug에서 따옴표를 수정하면 사이트가 올바르게 표시됩니다.

아이디어가 있으십니까?

+0

당신이 탈출 시도 했 도우미를 사용한다,이 MVC라고 때문에?를 <%= -> 나를 위해 그 일을해야 하는가? –

+0

을, – Crisfole

+0

인라인 스크립팅은 ASP.NET에서 벗어나려고 시도하는 것이고, 그렇게 할 때 나는 변함없이 이처럼 사소하면서도 지루한 문제를 겪게됩니다. 정말로 불가능합니다. –

답변

2

당신은 Url.Content 도우미를 사용한다 :

<link href="<%= Url.Content("~/Content/Site.css") %>" rel="stylesheet" type="text/css"/> 

을 또한 당신이 웹폼 엔진을 사용하면 <head> 태그에있을 수있는 runat="server" 속성을 제거했는지 확인 볼 사용하고있는 것으로 보인다.

ResolveUrlrunat="server"은 기존 항목이므로 ASP.NET MVC 응용 프로그램에서 사용하면 안됩니다.

+0

나중에 내가 몇 초를 이길. :(하하 –

+0

좋습니다. 왜 runat = server? – Crisfole

+1

@Cpfohl을 제거해야합니까? 왜냐하면'runat = "server"'는 서버 측 컨트롤과 함께 사용되기 때문에 서버 측 컨트롤은 더 이상 ASP.NET MVC에서 사용되어서는 안됩니다. –

2

당신은 당신이 시도하고 (`\ "`) 따옴표를

<link href="<%= Url.Content("~/Content/Site.css") %>" rel="stylesheet" type="text/css"/> 
관련 문제