He creado a partir del control GridView un grid personalizado.
He definido que la primer columna de ese grid sea un botón que elimine el registro y lo defino en el evento OnDataBinding
Código:
El problema viene cuando le doy click al boton eliminar del renglón que se va al evento OnRowCommand, pero lo hace dos veces.... ButtonField buttonField = new ButtonField(); buttonField.ButtonType = ButtonType.Image; buttonField.ImageUrl = "/Image/delete.gif"; buttonField.HeaderText = "Delete"; buttonField.CommanName = "del"; base.Columns.Add(buttonField); ... base.DataSource = dataSource; base.OnDataBinding(e); ...
No he encontrado la causa por la cual se hace postback dos veces y obviamente me causa problemas.
Hice una prueba cambiando la forma de crear esa columna, por un link, es decir:
Código:
buttonField.ButtonType = ButtonType.Link; buttonField.Text = "Delete" buttonField.HeaderText = "Delete"; buttonField.CommanName = "del";
Y todo funciona de maravilla, pero ... obviamente quisiera poder usar la imagen en lugar del link,
¿alguno de ustedes ha tenido este problema y como lo resolvierón?, o no se puede resolver?
Saludos y gracias.