Я хочу добавить серверные элементы управления (CheckBoxList
s & Button
):
ChkBoxLst1
& ChkBoxLst2
& Button1
через Code-behind, а затем используйте HTMLTextWriter
для визуализации элемента управления.
Кажется, я не могу этого сделать.
Все вышеперечисленное в визуальной веб-части.
Что я пробовал:
Глобальный:
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 не срабатывает, а выбранные значения не сохраняются так, как я это делал выше. Есть идеи, почему бы и нет? Я попытался сравнить два списка флажков, но реализация HTMLTextWriter
не сработала, тогда как простой .NET сделал то же самое
В общем, я думаю, что это моя реализация HTMLTextWriter / как добавить серверный элемент управления.
Обратите внимание, что spn - это буквенный элемент управления span в разметке.