Hola a todos tengo un problemon
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