【问题标题】:Html links don't work with localhost?Html 链接不适用于本地主机?
【发布时间】:2012-07-11 18:40:59
【问题描述】:

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

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

但这不起作用!是我做错了什么,还是只是localhosts不能这样使用?

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

【问题讨论】:

  • "这行不通!"不是很具有描述性。 什么不起作用?你认为这不会发生什么?

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


【解决方案1】:

由于默认情况下链接从域开始,因此没有理由指定它。你可以使用/

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

【讨论】:

【解决方案2】:

HTML 链接在 localhost 上工作得很好:

<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 帮助程序在向用户提供页面时提供正确的路径信息,因此它会自动适应服务器中的任何更改。它还允许您使用 Routes 以达到最佳效果,因为您可以轻松更改链接的路由(即 URL),但仍使用相同的控制器和视图。

【讨论】:

    【解决方案3】:

    &lt;a href=""&gt; 的链接与 &lt;img src=""&gt; 的链接没有区别。

    您不应该使用绝对路径,因为当您部署项目时,站点名称不会是 localhost:60060。

    主页面使用

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

    【讨论】:

      【解决方案4】:

      改变这个:

      <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,因为它会正确解析到应用程序的根目录,从而消除使用../../../../../.. 的不确定性。更干净!

      【讨论】:

        【解决方案5】:

        您已将href 用作localhost:60060。它应该是一个页面(可能是default.html 或类似的东西)。

        【讨论】:

          猜你喜欢
          • 2014-03-06
          • 2014-10-01
          • 2016-04-06
          • 2016-01-14
          • 2020-08-17
          • 2016-08-05
          • 2016-04-17
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多