2012-02-14 5 views
2

Я пытаюсь заполнить элемент «Выбрать» в своем HTML, пока он открыт в моем собственном браузере в приложении C#. Так что я сделал это:Назначить строку InnerHtml объекта HtmlElement obeject

DataTable dt = new DataTable(); 
HtmlElement States = webBrowser1.Document.GetElementById("Select1"); 
da.Fill(dt); 
States.InnerHtml = ""; 
for (int i = 0; i < dt.Rows.Count; i++) 
{ 
    string head = String.Format(@"<option Value=""{1}"">", 
     dt.Rows[i]["Code"].ToString()); 
    string body = String.Format("{0}</option>", dt.Rows[i]["Name"].ToString()); 
    string tag = head + body; 

    States.InnerHtml =tag; 
} 

Но удивительно, когда я ожидаю, чтобы привести что-то вроде этого

< option Value="aNumber">testString<\option> 

Я вижу это:

testString<\option> 

Я видел ту же самую проблему здесь, когда я был пытаясь написать ожидаемую строку. Наконец, я ввел пустое место во второй символ в моей строке. Таким образом, я worte < option> вместо <option> здесь. Я сделал то же самое для этой строки, которую я хочу передать свойству InnerHtml моего элемента. Но, к сожалению, это не сработало.

+0

Каков тип элемента элемента с идентификатором 'Select1'? – casperOne

+1

Почему это '@"

ответ

2

не должны это

string head = String.Format(@"<option Value=""{1}"">", 
     dt.Rows[i]["Code"].ToString()); 

быть это?

string head = String.Format(@"<option Value=""{0}"">", 
     dt.Rows[i]["Code"].ToString()); 
Смежные вопросы