ASP.NET динамически создаваемые элементы управления и Postback

Я знаю, что этот вопрос задавали тысячи раз, и я ' я боролся с этим раньше, но по какой-то причине я не могу выполнить то, что хочу ... У меня есть динамически добавляемый 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);
}
15
задан Honus Wagner 18 November 2010 в 17:14
поделиться