web-dev-qa-db-fra.com

HyperLink avec NavigateUrl avec Eval (). Où est l'erreur?

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" />

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.

22
abatishchev

cela fonctionne très bien

NavigateUrl='<%# Eval("type","~/Refuse.aspx?type={0}") %>'
59
Hamdy Mohamed

Cela a fonctionné pour moi

NavigateUrl='<%# String.Format("{0}.aspx?ID={1}", DataBinder.Eval(Container.DataItem, "Category"), DataBinder.Eval(Container.DataItem, "Post_ID")) %>'
16
Etienne

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" />
4
Phaedrus