En una aplicación web que cambia de idioma, me hans olicitado que los hyperlinks de cada gridview cambie segun sea tambien el idioma seleccionado (lo cual hago gracias a san XML).
El problema que tengo es que si puedo cambiar el texto al hyperlinkfield pero pierde el valor de navegacion el cual lo trae desde la BD.
Intenté tambien creando la columna dinamicamente y agregandola, pero el DataNavigateUrlFields no lo puedo definir segun sea el campo de la bd.
Intenté que me trajera el IDENTIFICADOR_UNICO y no pude, osea real no se como hacerle
Código:
Protected Sub GridView1_RowDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles GridView1.RowDataBound 'CAMBIO TEXTO DEL HYPERLINKFIELD PERO PIERDE EL DataNavigateUrlFields Dim dr As GridViewRow For Each dr In GridView1.Rows dr.Cells(3).Text = "sirve cambiar el texto" Next 'CAMBIO TEXTO DEL CONTROL QUE ESTÁ EN UN TemplateField PERO IGUAL PIERDE EL NavigateUrl Dim sds As SqlDataSource Dim grid As GridView = Me.GridView1 Dim resultado As New StringBuilder Dim hp_extra As New HyperLink sds = Me.GridView1.DataSource grid.DataSource = sds For Each renglon As GridViewRow In grid.Rows hp_extra = CType(renglon.FindControl("hp_extra"), HyperLink) hp_extra.Text = ("funciona cambiar texto") Next 'CON ESTE CREO LA COLUMNA CON EL TEXTO QUE QUIERO PERO EN NINGUN MOMENTO LE AGREGO LINK DE NAVEGACION 'Y REAL NO SE COMO HACERLO (ENTIENDASE AGARRAR EL VALOR DE LA BASE DE DATOS, EN LOS ANTERIORES SE LO AGREGUE 'DESDE LA VISTA DE DISEÑO ALGO ASI ' <asp:HyperLink ID="hp_extra" runat="server" NavigateUrl='<%#Eval("PATH_LOG")%>'></asp:HyperLink> 'PERO DESDE CODIGO NO SE COMO USAR EL EVAL Y QUE AGARRE EL EQUIVALENTE PARA CADA RENGLON Dim x As New HyperLinkField If idioma.Text = "" Then x.Text = "texto 1" Else x.Text = "texto 2" End If Me.GridView1.Columns.Add(x) Me.GridView1.DataBind() End Sub