2013-04-27 91 views
0

我一直在试图改变一个选择标签的HTML代码中的HTML代码,但每当我做到这一点为什么OuterHTML功能会导致错误

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

错误occurs.This是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页面中时,它通过“控件ID”接收控制的ID,并通过“值”生成内码。我怀疑我需要在别处调用函数,问题是我不知道在哪里。谢谢。

+0

请帮帮我! – Pedram 2013-04-27 07:11:30

+0

哪条线产生该错误? – 2013-04-27 07:14:32

+0

@JanDvorak:当我在表单加载时调用它时会产生错误,但是当我在一个按钮中调用它时,程序将正常运行(我需要在Web浏览器完全加载时调用它,但我的Web浏览器是在用户控制) – Pedram 2013-04-27 07:17:08

回答

1

你的代码假定文档完成加载,这是不形式负载期间的情况。 在访问文档之前请等待DocumentCompleted事件。

相关问题