J'ai d'abord changé HyperLink.NavigateUrl
En code-behind sur Page_Load()
.
Mais après j'ai décidé de le faire en design en utilisant la méthode Eval()
.
<asp:HyperLink runat="server"
NavigateUrl='<%# String.Format("~/Refuse.aspx?type={0}&id={1}", Eval("type"), Eval("id")) %>' Text="Refuse" />
ou
<asp:HyperLink ID="urlRefuse" runat="server"
NavigateUrl='<%# String.Format("~/Refuse.aspx?type={0}&id={1}", Request["type"], Request["id"]) %>' Text="Refuse" />
où id
et type
- sont des variables de Request
.
Mais ça ne marche pas. Seul le texte brut "Refuser" est affiché. Où est mon erreur? Merci d'avance.
cela fonctionne très bien
NavigateUrl='<%# Eval("type","~/Refuse.aspx?type={0}") %>'
Cela a fonctionné pour moi
NavigateUrl='<%# String.Format("{0}.aspx?ID={1}", DataBinder.Eval(Container.DataItem, "Category"), DataBinder.Eval(Container.DataItem, "Post_ID")) %>'
Essayez et ViewSource dans votre navigateur, qu'est-ce qui est rendu au client dans votre href? Est-ce ce que vous attendiez?. Si vous essayez d'utiliser des variables de la collection de demandes que vous ne pouvez pas utiliser Eval, vous devez utiliser les paramètres de chaîne de requête de demande.
<asp:HyperLink runat="server"
NavigateUrl='<%# String.Format("~/Refuse.aspx?type={0}&id={1}", Request["type"], Request["id"]) %>' Text="Refuse" />