Создание кнопки динамически на основе данных, присутствующих в базе данных, и на основе этих динамически созданных событий нажатия кнопки create more button.
описание проблемы:
Я пытаюсь создать ASP: button control из кода позади в соответствии с деталями, доступными в базе данных. Кнопки также генерируются и отображаются в пользовательском интерфейсе. Когда я нажимаю на эти динамические кнопки, кнопки становятся невидимыми.
Итак, на странице Pre_Init event я попытался сгенерировать эти кнопки, но так как это событие Pre_Init, и я добавляю эти элементы управления кнопками в ASP:table, который находится в asp: table, давая ошибку. Причина ошибки заключается в том, что pre_init-это этап, который происходит еще до загрузки страницы, поэтому DIV/PANEL/TABLE не будет там для ссылки, поэтому код выдает ошибку для нулевой ссылки.
Чего я хочу достичь :-
Я хочу генерировать динамические кнопки (несколько) в соответствии с данными из базы данных и по событию щелчка этих динамически генерируемых кнопок, хотел создать больше кнопок. где все элементы управления должны присутствовать на странице.
Что я уже пробовал:
public void CreateInstituteControl() { try { if (lstInst.Tables[0].Rows.Count > 0) { Table tblInst = new Table(); TableRow tbRowInst = new TableRow(); TableCell tc = new TableCell(); int count = 0; foreach (DataRow inst in lstInst.Tables[0].Rows) { count++; string tcID = "tbCell"; tc.ID = "tcID"; tc.CssClass = ("tc"); Button bttn = new Button(); // bttn.EnableViewState = false; bttn.ValidationGroup = "instCell"; // bttn.Style.Add() bttn.CssClass = ("bttnServices"); bttn.ID = bttn + "_" + inst["instituteid"].ToString() + "_" + inst["instituteName"].ToString(); bttn.Text = inst["instituteName"].ToString().Trim(); bttn.Attributes.Add("onclick", "return false"); // bttn.Click += new System.EventHandler(CreateProviderControl); // grid_Institute.Rows[0].Controls.Add(bttn); tc.Controls.Add(bttn); tbRowInst.Controls.Add(tc); if (count > 4) { tblInst.Rows.Add(tbRowInst); TableRow temprow = new TableRow(); tbRowInst = temprow; count = 0; } } if (tbRowInst != null) { tblInst.Rows.Add(tbRowInst); panelInst.Controls.Add(tblInst); } } else { } } catch (Exception ex) { Response.Write("<script>alert('" + ex.Message.ToString() + "');</script>"); } }
[no name]
http://www.c-sharpcorner.com/UploadFile/8911c4/page-life-cycle-with-examples-in-Asp-Net/
Maciej Los
Звучит как ответ.
Richard Deeming
Почему бы просто не использовать элемент управления ListView[^] чтобы сгенерировать кнопки?