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)时,这将成为一场噩梦。
要使您的代码对 MVC 更友好,请执行以下操作:
<a href="@Url.Action("Index", "Home")">
<img src="@Url.Content("~/Content/images/LionLabs.png")" alt="Lion logo">
</a>
这里发生的是 ASP.NET MVCUrl
帮助程序在向用户提供页面时提供正确的路径信息,因此它会自动适应服务器中的任何更改。它还允许您使用Routes
最佳效果,因为您可以轻松更改链接的路由(即 URL),但仍使用相同的控制器和视图。