Anyone notice something I'm doing wrong in my code?
Every so ofter, I'll select my delete button in my datagrid and my javascript does not run, prompting with a message box for verification. Here's my code...
Code:private void grdBooks_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e) { if(e.Item.ItemType != ListItemType.Header && e.Item.ItemType != ListItemType.Footer) { LinkButton delete = (LinkButton)e.Item.Cells[e.Item.Cells.Count-1].Controls[0]; delete.Attributes["onclick"] ="javascript:return confirm('Are you sure you want to delete " + DataBinder.Eval(e.Item.DataItem, "Title") + "?')"; } } private void grdBooks_DeleteCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e) { int key = (int)grdBooks.DataKeys[e.Item.ItemIndex]; string connectionString = "Data Source=localhost;Initial Catalog=VegaSoft;uid=sa;pwd=;"; try { Books bLayer = new Books(connectionString); bool result = bLayer.DeleteBook(key); BindData(); } catch { } } private void BindData() { string connectionString = "Data Source=localhost;Initial Catalog=VegaSoft;uid=sa;pwd=;"; Books bLayer = new Books(connectionString); try { grdBooks.DataSource = bLayer.GetBooks(); Session["LibrarySet"] = grdBooks.DataSource; grdBooks.DataKeyField = "BookID"; grdBooks.CurrentPageIndex = 0; grdBooks.DataBind(); } catch { } }


Reply With Quote