我正在研究MVC4项目并面临一个问题。我正在工作的项目是在Web表单中开发的。页面的html已经保存在Database.I我从DB获取这个html并在Views上显示它。现在的问题是,这个Html aslo包含图像和链接,这些在Web表单应用程序中工作正常,但在MVC图像和链接不起作用,因为无效路径图像无法加载,虽然我已经使相同的文件夹结构。这是一个例子。
假设我在App_Themes / Theme1 / Img / download_icon.gif文件夹中有一个图像。现在在MVC项目中,如果我给这个图像src像/App_Themes/Theme1/Img/download_icon.gif它被正确加载但是如果我给它src像App_Themes / Theme1 / Img / download_icon.gif它没有加载,这是保存在Db。我的问题是如何在html中正确加载来自Db的所有图像?
答案 0 :(得分:0)
你有一个棘手的场景。将Html标签保存在数据库中总是一种不好的做法,因为它可能在将来引起这类问题,这给当前开发人员带来了麻烦。根据我的观点,没有解决方案,但我建议你解决这个问题。这是虚拟目录的问题,希望我们可以Url.content
重新开发。
你是从数据库获取html的任何方式。所以我相信你有类似的东西。
string htmlContent = getHtmlforPage1()
它将返回第一页的所有html,并使用HtmlString()
在您的视图中显示它。
您可以将<img src=blah\blah.img />
替换为"<img src="+ Url.Content(blah\blah.img") />
。所有你需要的是写下一个功能来实现这一目标。
这个问题将为您提供url.content()的必要性 why use @Url.Content
如果可能,请更改避免在数据库中存储html