
04/11/2008, 09:58
|
| | Fecha de Ingreso: abril-2006
Mensajes: 12
Antigüedad: 18 años, 9 meses Puntos: 0 | |
Respuesta: Linkbutton Dinamico no acepta onclick <asp:GridView ID="grdDocumentos" runat="server" AutoGenerateColumns="False" GridLines="None" OnRowDataBound="grdDocumentos_RowDataBound" OnRowCommand="Descarga_documento">
<Columns>
<asp:TemplateField HeaderText="Nombre del documento">
<ItemTemplate>
<asp:LinkButton ID="ruta" runat="server" CausesValidation="False" Text="" Visible="false" CommandName="Descarga"></asp:LinkButton>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
carga de datos
private void cargar_datos(ArrayList LstTrabajos)
{
if (LstTrabajos != null)
{
grdDocumentos.DataSource = LstTrabajos;
grdDocumentos.DataBind();
}
}
En este caso cargamos un arraylist de trabajos a descargar, en el grid mostrariamos una columna de descripcion o algo asi.
Para este ejemplo he quitado cosas, ya que el proceso que yo tenia era mas complejo.
protected void grdDocumentos_RowDataBound(object sender, GridViewRowEventArgs e)
{
//Al bindear la filar recogemos el listado de documentos, si encontramos el correspondiente, ocultamos el fileupload,
// cargamos el link con la ruta y el texto y ponemos visible el boton de borrar documento
GridViewRow row = e.Row;
if (row.DataItem == null)
{
return;
}
LinkButton hlruta = (LinkButton)row.FindControl("ruta");
hlruta.CommandArgument=e.Row.RowIndex.ToString();
}
protected void Descarga_documento(object sender, GridViewCommandEventArgs e)
{
if (e.CommandName == "Descarga")
{
int codtrab = int.Parse(e.CommandArgument.ToString());
//Recuperamos el documento que queremos descargar
de esta manera sabes en que fila has hecho click
}
}
Ya te digo que he limpiado un proyecto que tenia hecho de antes, en mi caso era necesario hacerlo de esta manera pero viendolo en tu caso igual en el codigo del linkbutton en el aspx puedes biendear la propiedad del commandargument del linkbutton a alguna propiedad del datasource del grid para evitarte el databound. Si necesitas alguna aclaracion mas me comentas.
Un saludo |