我一直在尝试更改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”生成内部代码。我怀疑我需要在其他地方调用该函数,问题是我不知道在哪里。谢谢。
答案 0 :(得分:1)
您的代码假定文档已完成加载,在表单加载期间不是这种情况。 在访问文档之前,请等待DocumentCompleted事件。