public partial class Default2 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
GenerateButtons generate = new GenerateButtons();
generate.Generate5Controls(PlaceHolder1);
}
}
class GenerateButtons
{
PlaceHolder placeHolder;
public void Generate5Controls(PlaceHolder placeH)
{
placeHolder = placeH;
for (int i = 0; i < 5; i++)
{
Button newBtn = new Button();
newBtn.Click += btn_Click;
newBtn.Text = "PageLoadButton Created. Number: "+i;
placeHolder.Controls.Add(newBtn);
}
}
public void btn_Click(object sender, EventArgs e)
{
Button newBTN = new Button();
newBTN.Text = "A New Button was added by the button event btn_click";
newBTN.Click += btn2_Click;
placeHolder.Controls.Add(newBTN);
}
public void btn2_Click(object sender, EventArgs e)
{
Button newBTN = new Button();
newBTN.Text = "A New Button was added by the button event btn2_click";
placeHolder.Controls.Add(newBTN);
}
}
Я хочу, чтобы события btn_click & btn2_click запускали каждый пост обратно. Когда я нажимаю кнопку, которая была создана программным способом, она исчезает после каждого постбэка, и ее событие не срабатывает (btn2_click).Я знаю, что мог сгенерировать кнопку при обратной передаче. Но я не хочу этого делать !!Я хочу знать, как можно обновить состояние заполнителя ... чтобы появилась единственная кнопка и исчезли 5 кнопок, созданных в Generate5Controls (PlaceHolder placeH).
Я мог бы использовать bool Viewstate дляпредотвратить это генерировать. Generate5Controls (PlaceHolder1);от выполнения ..
Но вопрос в том, как заставить программно сгенерированную кнопку появляться!?