Когда я нажимаю btnGDynamicCont, я хочу загрузить первый набор элементов управления, затем при каждом последующем нажатии этой кнопки добавьте новый элемент управления (текстовое поле) вместе с другими, поэтому каждый раз, когда он нажимается, я добавляю новое текстовое поле через государство.Как добавить новый динамический элемент управления при нажатии кнопки?
Знаете ли вы, где я должен добавить создание нового текстового поля, чтобы сохранить его после каждой обратной передачи?
{
protected void Page_Load(object sender, EventArgs e)
{
if (Convert.ToString(ViewState["Generated"]) == "true")
GenerateDynamicControls();
}
public void GenerateDynamicControls()
{
TextBox txtDynamic = new TextBox();
txtDynamic.ID = "txtDynamic";
txtDynamic.Text = "Dynamic TextBox";
Page.Form.Controls.Add(txtDynamic);
TextBox txtDynamic2 = new TextBox();
txtDynamic2.ID = "txtDynamic2";
txtDynamic2.Text = "Dynamic Textbox";
Page.Form.Controls.Add(txtDynamic2);
}
protected void btnGDynamicCont_Click1(object sender, EventArgs e)
{
if (Convert.ToString(ViewState["Generated"]) != "true")
{
GenerateDynamicControls();
ViewState["Generated"] = "true";
}
else
{
Response.Write("<h2>Controls are already exist in page</h2>");
}
}
}
}
То, что я сейчас добавляю, находится в page_load, проблема в том, что если я не хочу добавлять элементы управления, которые предварительно определены и вместо этого добавляют каждый новый экземпляр каждый раз, когда я нажимаю (что я делаю), тогда он создает первый и никогда не создает второй элемент управления. Я пробовал его без идентификатора и т. Д. В надежде, что он будет продолжать создавать элементы управления на странице, но это не так. – connersz
Я не уверен, что я так понимаю ваш комментарий :(Во всяком случае, если вы хотите, чтобы на странице появились ранее созданные элементы управления, вы должны воссоздать их при каждом запросе на сервер. – platon