我大部分的 url 都是从根开始写的(注意开头的斜线)。
<img src="/Content/Images/example.png" />
当我在 VS 中调试并在生产中发布时,一切正常。
现在我决定用我的移动设备在我的局域网上测试/调试网站。为此,我必须“使用本地 IIS Web 服务器”,因为端口 46918 由于某种原因被阻止。这迫使我指定一个虚拟目录,因此我的路径不再起作用。
由于我不想使用相对路径,有没有合适的方法在 asp.net mvc 中编写 url?
我大部分的 url 都是从根开始写的(注意开头的斜线)。
<img src="/Content/Images/example.png" />
当我在 VS 中调试并在生产中发布时,一切正常。
现在我决定用我的移动设备在我的局域网上测试/调试网站。为此,我必须“使用本地 IIS Web 服务器”,因为端口 46918 由于某种原因被阻止。这迫使我指定一个虚拟目录,因此我的路径不再起作用。
由于我不想使用相对路径,有没有合适的方法在 asp.net mvc 中编写 url?
使用 MVC,使用@Url.Content(...)
.
<img src="@Url.Content("~/Content/Images/example.png")" />
该Url.Content()
方法将找出您的应用程序位于 IIS 根目录下的位置,并相应地调整链接:
/Content/Images/example.png
或者
/SomeVirtualPath/Content/Images/example.png
您可以将其用于您需要的任何 URl(css 文件、javascript 文件、图像等)
当然,使用相对 URL 并让 ASP.NET 为您附加前缀:
<img src="@Url.Content("~/Content/Images/example.png")" />
在开发中,这将解决为/Content...
在您的虚拟目录环境中您将获得/virtualdirectory/Content...
.