在 MVC4 的 Razor 视图中显示来自数据库的 HTML 时图像路径不正确
Image Path incorrect when displaying HTML from database in a Razor View in MVC4
如果有一些 HTML 存储在数据库中。我在我的视图文件中使用以下代码呈现 HTML。
@Html.Raw(Model.Content.ToString())
这工作正常,但有一个问题,图像路径没有正确渲染。在我的 HTML(存储在数据库中)图像定义为:
<img src="~/images/logo.png" />
但是在 HTML 中呈现时,它会在图像未显示的路径之前附加网站的 URL。
http://www.hostname.com/~/images/logo.png
如果需要任何其他信息,请发表评论。
谢谢你的时间。
通常是 Razor 解释 "~/images/"
并将其转换为相对路径。因为您要自己渲染 HTML(在 Model.Content.ToString()
中),所以您将跳过此功能。
如果您需要将 HTML 存储在数据库中,您可能不应该使用 ~/images/
语法。如果您总是在网站的根目录下发布您的应用程序,那么只需使用 /images/
代替(例如 www.mysite.com/images 而不是 www.mysite.com/myapp/images)
如果有一些 HTML 存储在数据库中。我在我的视图文件中使用以下代码呈现 HTML。
@Html.Raw(Model.Content.ToString())
这工作正常,但有一个问题,图像路径没有正确渲染。在我的 HTML(存储在数据库中)图像定义为:
<img src="~/images/logo.png" />
但是在 HTML 中呈现时,它会在图像未显示的路径之前附加网站的 URL。
http://www.hostname.com/~/images/logo.png
如果需要任何其他信息,请发表评论。 谢谢你的时间。
通常是 Razor 解释 "~/images/"
并将其转换为相对路径。因为您要自己渲染 HTML(在 Model.Content.ToString()
中),所以您将跳过此功能。
如果您需要将 HTML 存储在数据库中,您可能不应该使用 ~/images/
语法。如果您总是在网站的根目录下发布您的应用程序,那么只需使用 /images/
代替(例如 www.mysite.com/images 而不是 www.mysite.com/myapp/images)