Здравствуйте, hujg, Вы писали:
H>Если задача создать кастомный серверный контрол с динамически создаваемыми контролами внутри него. Но столкнулся с проблемой, что при каждом постбэке теряются контролы которые я добавлял.
Их надо пересоздавать на каждом постбэке. Добро пожаловать в чудный мир WebForms.
Здравствуйте, Lloyd, Вы писали:
L>Здравствуйте, hujg, Вы писали:
H>>Если задача создать кастомный серверный контрол с динамически создаваемыми контролами внутри него. Но столкнулся с проблемой, что при каждом постбэке теряются контролы которые я добавлял.
L>Их надо пересоздавать на каждом постбэке. Добро пожаловать в чудный мир WebForms.
Ага, спасибо. Я чего то протупил.
Здравствуйте, Аноним, Вы писали:
А>Здравствуйте, Lloyd, Вы писали:
L>>Здравствуйте, hujg, Вы писали:
H>>>Если задача создать кастомный серверный контрол с динамически создаваемыми контролами внутри него. Но столкнулся с проблемой, что при каждом постбэке теряются контролы которые я добавлял.
L>>Их надо пересоздавать на каждом постбэке. Добро пожаловать в чудный мир WebForms.
А>Ага, спасибо. Я чего то протупил.
Нет, я что-то все равно не понимаю. Если например хранить количество созданных ddl в скрытом поле
protected override void OnInit(EventArgs e)
{
base.OnInit(e);
_hidden = new HiddenField();
this.Controls.Add(_hidden);
}
void addButton_Click(object sender, EventArgs e)
{
this.Controls.Add(new DropDownList());
_hidden.Value = this.Contnrols.Count++;
}
и потом пытаться пересоздавать ddl в CreateChildControls, так вот на момент вызова CreateChildControls в hidden.Value ничего нет, а значение в ней восстанавливается только к моменту вызова обработчика void addButton_Click(object sender, EventArgs e)
protected override void CreateChildControls()
{
base.CreateChildControls();
...
for(int i = 0; i < int.Parse(_hidden.Value); i++)
{ CreateDDL(); }
}
Как быть?