o cómo hago para que la propiedad NavigateUrl de un control hyperlink reciba el valor del queryString y se concatene con una url (desde el lado aspx)?
A ver si lo intentas antes de ver la solución. Pero como ya dije: la asignación debe hacerse desde el lado aspx por si acaso ah? y no desde el lado del servidor, sino qué chise tendría no?
En realidad este tema es bastante simple pero por lo que veo causa mucha confusión, así que vamos a intentar ser claros de una buena vez.
Este sería el código para el texbox:
<asp:TextBox ID="TextBox1" Text='<%# Request.QueryString("id")%>' runat="server"></asp:TextBox>
y éste para el hyperlink:
<asp:HyperLink ID="HyperLink1" NavigateUrl='<%# string.format("~/OtraPagina.aspx?id={0}", Request.QueryString("id")) %>' runat="server">Click aquí</asp:HyperLink>
Lo que hice fue:
- envolver en comillas simples el valor para la propiedad
- usar <%# …. %> en lugar de <%= …. %>
- En el Page_Load de la página debo poner: Me.DataBind() si es VB.NET y this.DataBind(); para C#.
Ojo, el código aspx está en VB.NET, hay algunas diferencias con C#, por ejemplo las llamadas al queryString debe ser con corchetes: Request.QueryString["id"]
Espero que les sea de utilidad ;
No hay comentarios.:
Publicar un comentario