У меня возникли проблемы с добавлением события в ImageButton. Мне нужно создать набор кнопок в зависимости от выбранной опции из DropDownList. Кнопки создаются успешно с данными базы данных, но я не могу прикрепить функциональность OnClick.Ошибка ASP.NET C# Добавление обработчика событий в ImageButton CodeBehind
Созданные кнопки должны совместно использовать один и тот же обработчик.
protected void cmbServ_SelectedIndexChanged(object sender, EventArgs e) {
ServiceID = cmbServ.SelectedValue.ToString();
ServiceName = cmbServ.SelectedItem.ToString();
DataTable dtFirstTab = new DataTable();
dtFirstTab = mySQLConn.getTable(qryCarry); // LOAD DATA FROM DB
foreach (DataRow row in dtFirstTab.Rows) {
FTabBtn = "btn"+(Convert.ToInt32(row["SKU_Credito"])).ToString();
FTabIconURL = row["SKU_Icon"].ToString();
Panel dvFirstTab = new Panel();
dvFirstTab.CssClass = "col-xs-2";
ImageButton IB = new ImageButton();
IB.ID = FTabBtn;
IB.ImageUrl = FTabIconURL;
IB.Click += new ImageClickEventHandler(btnX_click); // <-- PROBLEM
dvFirstTab.Controls.Add(IB);
pnlIcons.Controls.Add(dvFirstTab); // pnlIcons exists in HTML
}
protected void btnX_click(object sender, ImageClickEventArgs e) {
string Obj = ((ImageButton)sender).ClientID;
Cantidad = Convert.ToInt32(Obj.Substring(3, (Obj.Length) - 3));
txtMonto.Text = "$" + Cantidad.ToString();
}
Все кнопки отображаются правильно, но когда я нажимаю на них они просто огонь «представить» действие, действуя как нет никакой OnClick назначен.
Нет CodeBehid пример:
Если добавить эту строку в HTML (я удалил Asp теги)
ImageButton ID="btn10" runat="server" ImageUrl="MontoLogo_10ST.png" OnClick="btnX_click"
Он делает работу по назначению.
Любые идеи? Большое спасибо!
Просто скажите IB.Click + = btnX_click. Btnx_click уже является обработчиком событий, нет необходимости создавать другое. – cyanide