Html链接不能与localhost一起使用?

时间:2012-07-11 18:41:00

标签: html asp.net-mvc-3 localhost

这是真的吗?我正在使用visual studio中的mvc3应用程序,我希望我用作标题的图像成为返回主页的链接,但由于我只是在本地运行它,所以我使用这一行作为代码:

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

虽然这不起作用!我做错了什么,或者只是本地主机不能用作这个?

我也尝试使用javascript方法作为刷新页面的href,但这也不起作用:(

5 个答案:

答案 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,因为它会正确地解析为您应用的根,从而消除了使用../../../../../..的不确定性。它更清洁!