Присвоить строку InnerHtml объекта HtmlElement - PullRequest
2 голосов
/ 14 февраля 2012

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

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>

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

1 Ответ

2 голосов
/ 25 мая 2012

Разве это не должно

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

быть этим?

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