2012-07-11 3 views
0

사실입니까? Visual Studio의 mvc3 응용 프로그램에서 작업 중이며 헤더로 사용중인 이미지를 홈 페이지의 링크로 되돌리고 싶습니다. 그러나 저는이 파일을 로컬에서 실행하기 때문에이 줄을 코드 :HTML 링크가 localhost에서 작동하지 않습니까?

<a href="localhost:60060"> 
<img src="../../Content/images/LionLabs.png" alt="Lion logo"> 
</a> 

이 그래도 작동하지 않습니다! 내가 잘못한 일을하고 있습니까? 아니면 localhost를 이처럼 사용할 수 없습니까?

나는 또한 단지 페이지를 새로 href를 같은 자바 스크립트 방법을 사용했지만 문제가 해결되지 않은 하나 :(

+0

"그래도 작동하지 않습니다!" 그다지 설명 적이 지 않습니다. ** 무엇이 작동하지 않습니까? 무슨 일이 일어나고 있지 않길 기대합니까? – Oded

답변

7

도메인의 기본 시작으로 링크가, 그것을 지정하는 이유가 없기 때문에. 당신은 /를 사용할 수 있습니다.

<a href="/"> 
    <img src="../../Content/images/LionLabs.png" alt="Lion logo"> 
</a> 
+0

감사합니다. –

+0

@Ethan Pieper [대답을 수락하지 않음] (http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work). –

+0

하하는이 대답을 수락하는 것을 잊어 버린 것처럼 보입니다. – CleoR

0

당신은 localhost:60060href을 사용했다. 그것은 페이지 여야합니다 (default.html 또는 그런 일을 할 수있다).에 대한

1

링크를 10은 <img src="">의 링크와 다르지 않습니다.

프로젝트를 배포 할 때 사이트 이름은 localhost : 60060이 아니므로 절대 경로를 사용하면 안됩니다. 메인 페이지에 사용하기 위해

<a href="/"></a> 
0

변경이 : 여기에

<a href="localhost:60060"> 
    <img src="../../Content/images/LionLabs.png" alt="Lion logo"> 
</a> 

:

<a href="@Url.Action("Index", "Home")"> 
    <img src="@Url.Content("~/Content/images/LionLabs.png")" alt="Lion logo"> 
</a> 

이유는 무엇입니까?

@Url.Action을 사용하는 것이 Global.asax에서 설정 한 맞춤 라우팅을 사용하는 것이 더 좋습니다. URL 라우팅을 변경해야하는 경우 복잡한 사이트의 모든 단일 링크 참조를 수정한다고 상상할 수 있습니까? 사용 @Url.Content :

, 즉 제대로 ../ 또는 ../../ 또는 ../../..를 사용하는 불확실성을 멀리 복용, 응용 프로그램의 루트로 해결할 수있다. 깨끗해!

1

HTML 링크 로컬 호스트와 함께 잘 작동 :

<a href="http://localhost:60060/"> 
    <img src="../../Content/images/LionLabs.png" alt="Lion logo"> 
</a> 

문제 여기가 바로 상대 경로를 사용하는 localhost:60060 시도를 사용하여, 그래서 브라우저는 실제로 물론,이다, http://localhost:60060/localhost:60060/, 찾고 있습니다 유효하지 않은 경로.

또한 응용 프로그램의 페이지 간을 연결할 때 응용 프로그램을 웹에 배포하는 것과 같이 도메인 이름을 변경해야 할 때 악몽이되기 때문에 절대 경로를 사용하면 안됩니다.

이렇게, 코드를 더욱 MVC 친화적 만들려면 :

<a href="@Url.Action("Index", "Home")"> 
    <img src="@Url.Content("~/Content/images/LionLabs.png")" alt="Lion logo"> 
</a> 

여기에서 일어나고있는 것은 ASP 것입니다.NET MVC Url 헬퍼는 페이지가 사용자에게 제공 될 때 적절한 경로 정보를 제공하므로 자동으로 서버의 변경 내용을 수용합니다. 또한 링크의 경로 (예 : URL)를 쉽게 변경할 수 있기 때문에 동일한 컨트롤러 및보기를 계속 사용하기 때문에 Routes을 사용하는 것이 좋습니다.

관련 문제