在MVC4的Razor视图中从数据库显示HTML时,图像路径不正确

时间:2015-03-04 14:28:13

标签: html asp.net-mvc asp.net-mvc-4 razor

如果有一些存储在数据库中的HTML。我在我的视图文件中使用以下代码渲染HTML。

@Html.Raw(Model.Content.ToString())

这个工作正常,除了一个问题,图像路径没有正确呈现。在我的HTML(存储在数据库中)中,图像定义为:

<img src="~/images/logo.png" />

但是当在HTML中呈现时,它会在未显示图像的路径之前附加网站的URL。

http://www.hostname.com/~/images/logo.png

如果需要任何其他信息,请发表评论。 谢谢你的时间。

1 个答案:

答案 0 :(得分:2)

通常Razor会解释"~/images/"并将其转换为相对路径。因为您自己呈现HTML(在Model.Content.ToString()中),所以您正在跳过此功能。

如果需要将HTML存储在数据库中,则可能不应使用~/images/语法。如果您将始终在网站的根目录中发布您的应用程序,那么只需使用/images/(例如www.mysite.com/images而不是www.mysite.com/myapp/images)