文字列ビルダでRenderControlを使用して、asp:TreeViewにドロップダウンリストを追加しています。私のドロップダウンリストは自動ポストバックに設定されており、SelectedIndexChangedイベントが添付されています。残念ながら、私は自分のツリービューの中に正しくドロップダウンリストが表示されているのを見ていますが、選択を変更してもイベントは発生しません。ここRenderControlでポストバックのイベントを登録するには?
は私のコードです:DropDownListコントロールか何かのようにRegisterEventするいかなる方法が
DropDownList ddlTest = new DropDownList();
ddlTest.Items.Add("test");
ddlTest.Items.Add("test2");
ddlTest.AutoPostBack = true;
ddlTest.SelectedIndexChanged += ddlTest_SelectedIndexChanged;
TreeNode node = new TreeNode();
StringBuilder sb = new StringBuilder();
StringWriter sw = new StringWriter(sb);
HtmlTextWriter writer = new HtmlTextWriter(sw);
ddlTest.RenderControl(writer);
node.Text = sb.ToString();
node.ShowCheckBox = false;
はありません。私がやろうとしていることを達成する方法はありますか?
ドロップダウンはコントロールのコレクションに追加されていません。それは単にテキストとして書かれています。 – Ruslan
良い点、私はその部分を無視しました.DIはその問題に対する解決策を持っています.netバージョンによっては、Page(非推奨)やClientScriptManagerのメソッドGetPostBackEventReferenceを使って手動でポストバック呼び出しを生成することができます要素のonchangeイベント – gsnerf