如何使用razor引擎将数据库中的html存储图像显示到视图中

时间:2014-06-05 14:50:49

标签: asp.net-mvc razor

我有一个部分可以将使用html编辑器创建的html保存到站点控制面板中的数据库中。

在我的html中,如果我插入带有此地址的图像" image / Picture1.jpg"如果存储在mysite.com/image/picture1.jpg上的图像,则使用html编辑器。

现在在视图(剃刀)中,我使用System.Web.HttpUtility.HtmlDecode@Html.Raw(item.Content)显示数据库中存储的html内容。如果这个内容显示在像mysite.com这样的主页中,它可以正常工作。

但是,如果它在其他区域或控制器或动作中显示,则图像无法显示。因为在那些区域(如mysite.com/desktop),图像地址变为mysite.com/desktop/image/picture1.jpg。

如何在没有此问题的情况下显示此HTML内容?

1 个答案:

答案 0 :(得分:1)

当您使用相对URL时,图像将始终相对于显示它们的页面。

除非HTML中包含绝对网址mysite.com/image/picture1.jpg root-relative 网址/image/picture1.jpg,否则无法使用。

A:您需要在HTML编辑器中输入绝对

的网址
mysite.com/image/picture1.jpg

root-relative

/image/picture1.jpg

在这两种情况下,浏览器都会从网站的根目录进行搜索,而不仅仅是相对于当前页面。