为什么OuterHTML功能会导致错误

时间:2013-04-27 07:11:09

标签: c# html webbrowser-control

我一直在尝试更改HTML代码中的select标记的HTML代码,但每当我这样做时

"Object reference not set to an instance of an object"
发生

错误。这是C#代码:

 public void SetDefaultValue(string ControlID,string Value)
 {
HtmlDocument doc = webBrowser1.Document;
HtmlElement list = doc.GetElementById(ControlID);
list.OuterHTML+= Value;         
 }
private void Form1_Load(object sender, EventArgs e)
{            
    htmlLoadWebbrowser1.SetDefaultValue("D8876943-5861-4D62-9249-C5FEF88219FA", "<SELECT id=\"D8876943-5861-4D62-9249-C5FEF88219FA\" multiple size=\"4\" name=\"drop1\"> <OPTION value=\"3\">item 3</OPTION></SELECT>");            
}

该函数应该改变HTML页面中select标签的代码,它通过“controlID”接收控件的ID,并通过“Value”生成内部代码。我怀疑我需要在其他地方调用该函数,问题是我不知道在哪里。谢谢。

1 个答案:

答案 0 :(得分:1)

您的代码假定文档已完成加载,在表单加载期间不是这种情况。 在访问文档之前,请等待DocumentCompleted事件。