Cherche astuce pour incorporer une balise C# dans un attribut [Résolu]

Signaler
Messages postés
7
Date d'inscription
lundi 29 septembre 2008
Statut
Membre
Dernière intervention
15 octobre 2008
-
Messages postés
410
Date d'inscription
dimanche 1 février 2004
Statut
Membre
Dernière intervention
8 mai 2010
-
Bonjour, je suis débutant en ASP.NET  ,

voila le script concerné :

<asp:HyperLink
NavigateUrl=""
runat="server">

<%

# XPath(
"repertoire")%>

</asp:HyperLink>

Enfait mon script va chercher dans un document xml, la valeur de repertoire. Jusque ici tout fonctionne. Seulement, maintenant, j'aimerais que l'attribut NavigateUrl contienne la même valeur que Xpath("repertoire"), j'ai essayer d'incruster une balise C# dans l'attribut, comme ceci :

<asp:HyperLink
NavigateUrl="<%XPath("repertoire")%>"
runat="server">

<%

# XPath(
"repertoire")%>

</asp:HyperLink>

mais rien à faire, ca ne fonctionne pas..   Avez-vous une astuce ou une solution?

5 réponses

Messages postés
7
Date d'inscription
lundi 29 septembre 2008
Statut
Membre
Dernière intervention
15 octobre 2008

Mon gros problème était que ma balise se trouvais dans un asp:Reapeter  se qui fait que si j'ajoutait  autrepart que dans le reapeter , cela ne fonctionnait , il ne trouvait pas l'id. Et que si je mettait à côté, dans le reapeater,ou en dessous, il me disait que mon id n'existait pas du peut, de plus que ça devait être applicable à toutes les répétitions de la balise.

J'ai trouvé une alternative :   ai lieu de placer ma balise Xpath en tant qu'url qui fait directmement un lien vers la page voulue, je retransmet par variable GET  <%# XPath=("entree/repertoire")%>  et la, je peux écrire sans problème dans mon attribut, quelque chose du style :


href = "default.aspx?repertoire=<%#XPath("repertoire")%>  .

Une fois que mon script détecte que cette variable existe, il va rediriger vers la page voulue.
Messages postés
410
Date d'inscription
dimanche 1 février 2004
Statut
Membre
Dernière intervention
8 mai 2010

bonjour,
Il semble que ton HyperLink n'a pas d'ID ?
Si tu mets Id="MonHyp"
NavigateUrl=""runat="server" />
tu peux dans le code mettre au moment opportun
:

MonHyp.NavigateUrl="Tout ce que je veux"

MonHyp.Text="Tout ce que je veux et le reste"

SuperBouly
Messages postés
7
Date d'inscription
lundi 29 septembre 2008
Statut
Membre
Dernière intervention
15 octobre 2008

bonjour,

Je viens de tester. Ca m'affiche le même genre de résultats.
Je crois que c'est au niveau des caractère de <%# XPath=("entree/repertoire")%> l'attribut ne l'accepte pas comme caractère valable.. auriez vous une solution pour rendre ce bout de code correcte par rapport à l'attribut?
Messages postés
410
Date d'inscription
dimanche 1 février 2004
Statut
Membre
Dernière intervention
8 mai 2010

mais tu n'as plus besoin d'écrire <%# XPath=("entree/repertoire")%> (?)
d'abord donne ton erreur et ses circonstances, sinon on a du mal à t'aider.

SuperBouly
Messages postés
410
Date d'inscription
dimanche 1 février 2004
Statut
Membre
Dernière intervention
8 mai 2010

Si ton hyperlink est dans le répeater "MonRepeater", le serveur le trouvera si tu écris (en vb):
Dim MonHyp as Hyperlink = MonRepeater.findControl("MonHyp ")
et ensuite:
MonHyp.NavigateUrl="Tout ce que je veux" etc..

SuperBouly