Foros del Web » Programación para mayores de 30 ;) » .NET »

Pasar variables por hyperenlace

Estas en el tema de Pasar variables por hyperenlace en el foro de .NET en Foros del Web. Hola a todos! Estoy desarrollando una aplicacion WEB en .NET pero tengo un problema con el control web hyperlink, sucede que quiero enviar variables de ...
  #1 (permalink)  
Antiguo 16/12/2002, 16:03
Avatar de lewzip  
Fecha de Ingreso: abril-2002
Ubicación: Peru
Mensajes: 73
Antigüedad: 22 años
Puntos: 0
Pregunta Pasar variables por hyperenlace

Hola a todos! Estoy desarrollando una aplicacion WEB en .NET pero tengo un problema con el control web hyperlink, sucede que quiero enviar variables de un pagina a otra, ya me habia funcionado dentro de un datalist, pero ahora, que lo prueba directamente (sin anidar) las variables no son cargadas.... y no se porke?

Esta es el problemas
<TD align="middle"><asp:hyperlink id=Hyperlink2 Font-Size="Medium" Font-Bold="True" Font-Names="Arial Narrow" Font-Underline="True" Font-Overline="True" NavigateUrl='<%Doc_clase.aspx" + "?Id=" + id_area + "&" + "nom_area=" + nom_area%>' Target="_self" Runat="server">Clases</asp:hyperlink></TD>

Donde las variables son pues "id_area" y "nom_area" pero estas no son visualizadas cuando paso el puntero sobre el hyperlink (en runtime), y no se porke no las reconoce....

Gracias anticipamente....
__________________
LEWIS
  #2 (permalink)  
Antiguo 17/12/2002, 12:09
Avatar de misitioweb  
Fecha de Ingreso: diciembre-2001
Ubicación: Monterrey, N.L.
Mensajes: 99
Antigüedad: 22 años, 4 meses
Puntos: 1
Hola...

La verdad nosé porque no funciona, pero podrias intentarlo así.... no agregues nada en la propiedad NavigateURL. Escribe codigo para que en el evento load de la pagina se establezca esta propiedad:

Private Sub Page_Load()
Hyperlink2.NavigateUrl = "Doc_clase.aspx?Id=" & id_area & "&nom_area=" & nom_area
End Sub

Yo creo que con esto si debe de funcionar.....

Saludos....
  #3 (permalink)  
Antiguo 18/12/2002, 15:23
 
Fecha de Ingreso: mayo-2002
Ubicación: Guatemala
Mensajes: 160
Antigüedad: 22 años
Puntos: 1
Exclamación

Este es un control de servidor por lo que lo lee el servidor y lo intenta interpretar, al colocale NavigateURL = "<% %>" tratas de colocar código que no se computara.

En este caso debes hacer algo así:

<script runat="server" language="C#">
int idarea = 0;
string nom_area="nombre";
</script>

<asp:hyperlink id=Hyperlink2 Font-Size="Medium" Font-Bold="True" Font-Names="Arial Narrow" Font-Underline="True" Font-Overline="True" NavigateUrl='<%# "Pagina.aspx?id="+idarea+"&nom_area"+nom_area %>' />

Si tienes definido un .cs (o .js o .vbs) diferente como codebehind, entonces solo tendras que definir, algo como: (ejemplo en c#)

/// Archivo.cs
namespace MiSitio
{
public class PaginaA
{
private int idarea;
private string nom_area;

private void Page_Load(object sender, System.EventArgs e)
{
if (!IsPostBack)
{
idarea = 25;
nom_area = "otra area";
}
}
}
}

y en la página:

<%@ Page Language="C#" inherits="MiSitio.PaginaA" codebehind="archivo.cs" %>
<asp:hyperlink id=Hyperlink2 Font-Size="Medium" Font-Bold="True" Font-Names="Arial Narrow" Font-Underline="True" Font-Overline="True" NavigateUrl='<%# "Pagina.aspx?id="+idarea+"&nom_area"+nom_area %>' />

Esta son las formas más sanas de hacerlo.
__________________
José Luis Chávez del Cid
Systems Developer Specialist
ACS Inc./Xerox
Guatemala
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 00:11.