CheckBoxList
サーバーサイドコントロール( s& )を追加したいButton
:
ChkBoxLst1
&&コードビハインドを使用してから、を使用してコントロールをレンダリングしますChkBoxLst2
。Button1
HTMLTextWriter
私はこれを行うことができないようです。
上記のすべてがビジュアルWebパーツに含まれています。
私が試したこと:
グローバル:
CheckBoxList ChkBoxLst2 = new CheckBoxList();
Button Bttn2 = new Button();
Label lbl2 = new Label();
StringWriter stringWriter = new StringWriter();
ページの読み込み:
using (HtmlTextWriter writer = new HtmlTextWriter(stringWriter))
{
ChkBoxLst2.Items.Add(new ListItem("Three", "3"));
ChkBoxLst2.Items.Add(new ListItem("Four", "4"));
ChkBoxLst2.RenderControl(writer);
lbl2.RenderControl(writer);
Bttn2.Click += new EventHandler(this.Bttn2_Click);
Bttn2.Text = "Click this HTMLText WriteButton!";
Bttn2.RenderControl(writer);
}
spn.InnerHtml = stringWriter.ToString();
イベントハンドラー:
void Bttn2_Click(Object sender, EventArgs e)
{
foreach (ListItem item in ChkBoxLst2.Items)
{
if (item.Selected == true)
{
if (IsPostBack)
{
lbl.Text += item.Text + ", ";
}
}
}
}
EventHandlerはトリガーされず、選択した値は上記のように保存されません。なぜそうではないかについてのアイデアはありますか?2つのチェックボックスリストを比較してみましたが、HTMLTextWriter
実装は機能しませんでしたが、単純な.NETは
すべて同じことを実行しましたが、HTMLTextWriterの実装/サーバーコントロールの追加方法だと思います。
spnは、マークアップのリテラルスパンコントロールであることに注意してください。