Я знаю, что этот вопрос задавали тысячи раз, и я ' я боролся с этим раньше, но по какой-то причине я не могу выполнить то, что хочу ... У меня есть динамически добавляемый LinkButton, который при нажатии динамически добавляет элемент управления (в этом примере текстовое поле) на ту же панель . Намерение состоит в том, чтобы постоянно добавлять столько элементов управления, сколько раз щелкнул LinkButton (т.е. я щелкаю его один раз, одно поле, затем еще один щелчок дает мне 2 поля, другой щелчок добавляет третье). В приведенном ниже коде я использую сериализованные текущую дату и время для создания уникального идентификатора для каждого элемента управления текстовым полем.
Когда я выполняю код, нажатие «Добавить фильтр» создает новое текстовое поле, но при повторном щелчке создается новый и утилизируйте предыдущий. Вместо этого я хочу сохранить предыдущее текстовое поле, а также любые данные, отправленные в нем.
Ваша помощь приветствуется.
В aspx:
<asp:Panel ID="pnlFilter" runat="server">
</asp:Panel>
В aspx.cs:
protected void Page_Init(object sender, EventArgs e)
{
LinkButton lb = new LinkButton();
lb.ID = "lbAddFilter";
pnlFilter.Controls.Add(lb);
lb.Text = "Add Filter";
lb.Click += new EventHandler(lbAddFilter_Click);
}
void lbAddFilter_Click(object sender, EventArgs e)
{
TextBox tb = new TextBox();
tb.ID = "tb" + DateTime.Now.ToBinary().ToString();
pnlFilter.Controls.Add(tb);
}