
16/12/2004, 01:56
|
| | Fecha de Ingreso: agosto-2004
Mensajes: 8
Antigüedad: 20 años, 6 meses Puntos: 0 | |
Finalmente consegui pasar varios parametros con columnas plantilla(Template column) y concatenando los databinder.Eval
Algo asi:
<asp:TemplateColumn HeaderText="Nombre">
<ItemTemplate>
<asp:HyperLink id=HyperLink1 runat="server"
NavigateUrl='<%# "DetalleEmpleado.aspx?id=" + DataBinder.Eval(Container.DataItem, "EmployeeId")
+ "&name=" + DataBinder.Eval(Container.DataItem, "LastName") %>'
Text='<%# DataBinder.Eval(Container, "DataItem.FirstName") %>'>
</asp:HyperLink>
</ItemTemplate>
</asp:TemplateColumn>
<ItemTemplate>, hace que todo lo que está en su interior se repita para cada fila del datagrid.
<asp:HyperLink>, etiqueta estándar de ASP.NET para crear hipervínculos, claramente id que le pongamos es arbitrario.
Text, stexto que el usuario va a ver en el hipervínculo.
NavigateUrl, determina el URL al que nos llevará el hipervínculo.
Recordemos que deseamos construir un URL que tenga este aspecto: DetalleEmpleado.aspx?id=1&name=Davoglio. Para lograr esto:
Dentro de los apóstrofes de NavigateUrl ponemos una expresión rodeada por <%# miExpresion %>, esta expresión será evaluada para cada fila del datagrid.
Container.DataItem representa la fila de datos actual del datagrid.
DataBinder.Eval permite acceder al contenido de la fila actual.
Por ejemplo DataBinder.Eval(Container.DataItem, "EmployeeId") se evaluará sucesivamente a 1, 2, 3, etc. |