0

我正在处理 MVC4 项目并面临一个问题。我正在处理的项目是在 Web 表单中开发的。页面的 html 已经保存在数据库中。我正在从数据库中获取这个 html 并在视图上显示它。现在的问题是这个 Html aslo 包含图像和链接,这些在 Web 表单应用程序中工作正常,但在 MVC 图像和链接中不起作用,即图像由于路径无效而无法加载,尽管我制作了相同的文件夹结构。这是一个例子。

假设我在文件夹 App_Themes/Theme1/Img/download_icon.gif 中有一张图片。现在在MVC项目中,如果我给这个图像像/App_Themes/Theme1/Img/download_icon.gif这样的src,它会正确加载,但是如果我给它像App_Themes/Theme1/Img/download_icon.gif这样的src,它不会加载,这是保存在数据库中。我的问题是如何正确加载来自 html 中 Db 的所有图像?

4

1 回答 1

0

你遇到了一个棘手的场景。将 Html 标签保留在数据库中始终是一种不好的做法,因为它可能会在将来导致此类问题,这让当前从事该工作的开发人员感到头疼。根据我的观点,没有解决方案,但我建议您解决这个问题。这是虚拟目录的问题,希望大家可以解决Url.content

您从数据库中获取 html 的任何方式。所以我相信你有类似的东西。 string htmlContent = getHtmlforPage1() 它将返回第一页的所有 html,并用于HtmlString()在视图中显示它。

您可以将 替换<img src=blah\blah.img />"<img src="+ Url.Content(blah\blah.img") />。你所需要的只是写下一个函数来实现这一点。

这个问题会告诉你为什么需要 url.content() 为什么使用 @Url.Content

如果可能,请更改避免在数据库中存储 html

于 2013-08-17T08:30:31.540 回答