我将承载HTML内容的桌面应用程序转换为在线应用程序。我有各种大块的预构建静态html,需要根据用户操作包含在MVC页面中。每个静态html页面都包含至少一个img
标记,该标记引用一个文件,该文件在Web窗体页面中将位于同一目录中。这是一个非常简单的例子:
静态HTML:
<html>
<!-- Large chunk of html -->
<img src="logo.gif" >
<!-- More html -->
</html>
SampleController:
Dim html as String = GetFileContentAsString("~/Content/Sample/Static.html")
ViewBag.StaticHTML = PrepareHTMLContent(html)
查看:
@Html.Raw(ViewBag.StaticHTML)
上述结果是一个页面(例如http://localhost:12345/Sample
),在HTML中间有一个损坏的图像链接。我已经预处理了html,尽可能剥离无用的标签并插入Javascript和CSS链接,但是预处理图像路径是不可靠的,因为它们可能在静态html中的任何地方,并且很可能是不一致的或者是古怪的。 / p>
那么如何将图像文件放置(或创建)到正确的位置以供静态html拾取?还有其他选择(请记住我还需要链接CSS和JavaScript文件,并且静态html有一堆与之关联的其他文件需要保存在一个位置)?
或者有没有办法定义或覆盖动态MVC页面的构建位置?
答案 0 :(得分:1)
最简单的方法是让/ Sample返回一个HTML页面,只需将/〜ContentConample/Static.html加载到iframe中,以便浏览器将static.html中的相对路径解析为/ ~Content / Sample /