2012-02-14 7 views
2

C#アプリケーションで自分のブラウザで開いている間に、HTMLで「選択」要素を埋めようとしています。だから私はこれをしなかった:HtmlElementオブジェクトのInnerHtmlに文字列を割り当て

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> 

を期待される文字列を書くのに苦労している。最後に、文字列の2番目の文字に空白を挿入しました。だから私はここで<option>の代わりに< option>を怒らせる。私は、私の要素のInnerHtmlプロパティに渡したいその文字列に対しても同じことをしました。しかし、残念ながらそれはうまくいかなかった。

+0

ID「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()); 
関連する問題