2013-04-27 39 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事件。