这是真的吗?我正在使用visual studio中的mvc3应用程序,我希望我用作标题的图像成为返回主页的链接,但由于我只是在本地运行它,所以我使用这一行作为代码:
<a href="localhost:60060">
<img src="../../Content/images/LionLabs.png" alt="Lion logo">
</a>
虽然这不起作用!我做错了什么,或者只是本地主机不能用作这个?
我也尝试使用javascript方法作为刷新页面的href,但这也不起作用:(
答案 0 :(得分:7)
由于默认情况下链接从域开始,因此没有理由指定它。您可以使用/
。
<a href="/">
<img src="../../Content/images/LionLabs.png" alt="Lion logo">
</a>
答案 1 :(得分:1)
<a href="">
的链接与<img src="">
的链接没有区别。
您不应该使用绝对路径,因为在部署项目时,站点名称将不是localhost:60060。
主页使用
<a href="/"></a>
答案 2 :(得分:1)
HTML链接可以正常使用localhost:
<a href="http://localhost:60060/">
<img src="../../Content/images/LionLabs.png" alt="Lion logo">
</a>
这里的问题是只使用localhost:60060
尝试使用相对路径,因此浏览器实际上正在寻找http://localhost:60060/localhost:60060/
,当然这是一条无效路径。
此外,在应用程序的页面之间链接时不应使用绝对路径,因为当您需要更改域名(例如,将应用程序部署到Web)时,这将成为一场噩梦。
为了让您的代码更加友好,请执行以下操作:
<a href="@Url.Action("Index", "Home")">
<img src="@Url.Content("~/Content/images/LionLabs.png")" alt="Lion logo">
</a>
这里发生的是ASP.NET MVC Url
帮助程序在向用户提供页面时提供正确的路径信息,因此它可以自动适应服务器中的任何更改。它还允许您使用Routes
以获得最佳效果,因为您可以轻松更改链接的路径(即URL),但仍然使用相同的控制器和视图。
答案 3 :(得分:0)
您已将href
用作localhost:60060
。它应该是一个页面(可能是default.html
或类似的东西)。
答案 4 :(得分: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.Content
,因为它会正确地解析为您应用的根,从而消除了使用../
或../../
或../../..
的不确定性。它更清洁!