У меня есть страница asp.net, на которой у меня есть местозаполнитель и кнопка. После нажатия кнопки я хочу, чтобы на моем заполнителе появилось несколько кнопок LinkButtons, и я хочу, чтобы обработчик specyfic был подключен к click_event из моих LinkButtons.asp.net динамическая ссылкаButtons click event problem
Вот код:
protected void Button_Click(object sender, EventArgs e)
{
for(...)
{
LinkButton l = new LinkButton();
l.ID = "link" + i;
l.Command += new CommandEventHandler(link_Command);
PlaceHolder1.Controls.Add(l);
}
}
void link_Command(object sender, CommandEventArgs e)
{
PlaceHolder1.Controls.Clear();
Label l = new Label();
l.Text = e.CommandArgument.ToString();
PlaceHolder1.Controls.Add(l);
}
В LinkButtons будут видны, но их событие не срабатывает. Как мне это решить? Мне нужно создать LinkButtons внутри события Button_Click, потому что только тогда я узнаю, сколько кнопок нужно создать. Пожалуйста помоги.
Использование ViewStat помогает мне, спасибо. Вот еще одна проблема. У меня есть PlaceHolder в UpdatePanel, и я хочу добавить эти LinkButtons в asyncPostback, тогда будет вызываться Page_Load (где я воссоздаю ссылки)? Если нет, где я могу воссоздать ссылки и добавить к ним Click_handler? – Richmond
EDIT: Я узнал, что Page_Load вызывается на каждый пост назад. Но когда я делаю частичную обратную передачу на своем placeHolder (внутри UpdatePanel), этот код не работает ... почему? String cos = (String) ViewState ["cos"]; Label l2 = new Label(); l2.Text = "<" + cos + ">"; PlaceHolder1.Controls.Add (l2); ViewState.Clear(); – Richmond
Это может быть другой вопрос? вы добавляете ярлыки здесь вместо LinkButtons. какая часть кода не работает? они не добавляются? –