将字符串分配给HtmlElement对象的InnerHtml

时间:2012-02-14 07:26:19

标签: c# html html-parsing

我尝试在我的HTML中填充“Select”元素,而它在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 个答案:

答案 0 :(得分: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());