2014-01-08 55 views
0

我正在使用Web浏览器控件加载标签中包含的一些HTML内容的窗体窗体上工作。以windows窗体设置web浏览器控件的innerHtml属性

现在,当我想设置的

 WebBrowserCntrl.Navigate("about:blank"); 
     HtmlDocument doc = this.WebBrowserCntrl.Document; 
     doc.Write(String.Empty); 
WebBrowserCntrl.Document.Body.InnerHTML= datacontractclass.datamember(string) 

它抛出异常,因为值“未设置为一个对象的实例对象引用。” 但是,当我做其他的方式..

WebBrowserCntrl.DocumentText="<style>....</style>" WebBrowserCntrl.DocumentText= datacontractclass.datamember(string) 它的工作原理。 但是后来我无法改变网页浏览器的风格(就像我上面应用的任何风格)

为什么我得到这个异常或者是否有其他方式来追加风格和其他HTMl内容。

回答

0

你可以试试这个:

webBrowser.DocumentText = string.Empty; // reset whatever is in the browser 

// Either this: 
HtmlDocument doc = webBrowser.Document.OpenNew(true); 
doc.Write(yourHtml); 
webBrowser.Refresh(); 

// Or: 
webBrowser.Document.OpenNew(true); 
webBrowser.Document.Write(html); 
webBrowser.Refresh(); 

您可以使用HtmlTextWriter如果你需要它里面的造型来创建HTML。例如,如果你想使用外部的CSS文件,你可以在你的头部做到这一点:

htw.AddAttribute(HtmlTextWriterAttribute.Rel, "stylesheet"); 
htw.AddAttribute(HtmlTextWriterAttribute.Type, "text/css"); 
htw.AddAttribute(HtmlTextWriterAttribute.Href, pathToCssFile); 
htw.RenderBeginTag(HtmlTextWriterTag.Link); 
htw.RenderEndTag(); 
相关问题