- 主题:div.innerhtml更新一问
如下一段代码:
string d = WordToHtml(FileUpload1.PostedFile.FileName);
StringBuilder strbur = new StringBuilder("<iframe src='");
strbur.Append(d);
strbur.Append("' width='100%' height='100%'> </iframe>");
div2.InnerHtml = strbur.ToString();
这里边的函数WordToHtml是用来打开一个指定的word文件名,并将其保存为一个同名html文件,返回该文件名;代码通过两次Append操作,构造一个StringBuilder变量strbur,这其实就是一串html标签组成的代码,赋值给div2的InnerHtml属性。
奇怪的是,在调试模式下,div2的内容可以成功更新,把指定的word文件内容显示出来;或者在非调试模式下,把打开的页面另存一下,然后再重新打开,也可以看到更新后的内容。但是,在非调试模式下,如果不另存,浏览器自己不给自动更新div2的内容,但是明显显示出了iframe的边框。查看整个页面的源代码,可以看到iframe的src属性确实更新到了WordToHtml产生的文件,但是查看iframe的代码,却只看到<html></html>。
怪,怪,怪,怎么回事?
--
FROM 202.120.58.*
要用outterHTML才行,查看源码是看不到通过js赋值显示的内容脚本的。
【 在 BruceVan (我不耻下问,您别烦) 的大作中提到: 】
: 如下一段代码:
: string d = WordToHtml(FileUpload1.PostedFile.FileName);
: StringBuilder strbur = new StringBuilder("<iframe src='");
: ...................
--
FROM 112.95.246.*
找到问题所在了,保存后的html文件不在网站内,所以,使用的文件名d是一个网站外部的物理路径,而且文件名一开始有冒号,因此需要进行修改:
1,把修改后的文件保存到网站指定目录下,
2,用虚拟目录,保持文件名中没有冒号。
就可以了。
【 在 woaipinr (美生奸计,丑长良心) 的大作中提到: 】
: 要用outterHTML才行,查看源码是看不到通过js赋值显示的内容脚本的。
--
FROM 58.247.69.*