我正在使用winforms webbrowser控件在Windows Forms应用程序中显示一些内容。我正在使用DocumentText属性来编写生成的HTML。这部分工作非常出色。现在我想在标记中使用一些图像。(我也希望使用链接的CSS和JavaScript,但是可以通过嵌入解决。)
我已经搜索了几天,似乎找不到标题问题的答案。
我尝试使用相对引用:应用程序exe位于bin \ debug中。图像位于项目根目录下的“Images”目录中。我已将图像设置为在编译时复制到输出目录,因此它们最终位于bin \ debug \ Images *中。所以我使用类似这样的引用“Images ...”,认为它将相对于exe。然而,当我在嵌入的浏览器窗口中查看图像属性时,我看到图像URL为“about:blankImages / *”。当HTML写入控件时,所有内容似乎都是相对于“about:blank”。由于缺少位置上下文,我无法确定用于相对文件资源引用的内容。
我查看了控件的属性,看看是否有一种方法可以设置某些东西来修复这个问题。我创建了一个空白的html页面,并使用“Navigate()”方法将浏览器指向该页面,使用完整的本地路径到文件。这与浏览器报告本地“file:///…”路径到空白页一起工作得很好。然后我再次写入浏览器,这次使用Document.Write()。同样,浏览器现在报告URL为“about:blank”。
除了将动态HTML结果编写到实际文件中之外,还有没有其他引用文件资源的方法?
我将尝试最后一件事:构建图像的绝对文件路径并将其写入HTML。我的HTML是使用序列化对象的XML的XSL转换生成的,因此我需要使用一些XSL参数进行操作,这需要额外的时间,因为我不太熟悉它们。
我已经搜索了几天,似乎找不到标题问题的答案。
我尝试使用相对引用:应用程序exe位于bin \ debug中。图像位于项目根目录下的“Images”目录中。我已将图像设置为在编译时复制到输出目录,因此它们最终位于bin \ debug \ Images *中。所以我使用类似这样的引用“Images ...”,认为它将相对于exe。然而,当我在嵌入的浏览器窗口中查看图像属性时,我看到图像URL为“about:blankImages / *”。当HTML写入控件时,所有内容似乎都是相对于“about:blank”。由于缺少位置上下文,我无法确定用于相对文件资源引用的内容。
我查看了控件的属性,看看是否有一种方法可以设置某些东西来修复这个问题。我创建了一个空白的html页面,并使用“Navigate()”方法将浏览器指向该页面,使用完整的本地路径到文件。这与浏览器报告本地“file:///…”路径到空白页一起工作得很好。然后我再次写入浏览器,这次使用Document.Write()。同样,浏览器现在报告URL为“about:blank”。
除了将动态HTML结果编写到实际文件中之外,还有没有其他引用文件资源的方法?
我将尝试最后一件事:构建图像的绝对文件路径并将其写入HTML。我的HTML是使用序列化对象的XML的XSL转换生成的,因此我需要使用一些XSL参数进行操作,这需要额外的时间,因为我不太熟悉它们。