2009-09-01 8 views
0

Je suis en train de générer ce htmlrésultats étranges de l'expression de liaison de données

<a href="#" class="button" onclick=" 
    $('#someControl').toggle('blind', 
    { easing: 'easeInOutSine'}); return false;"> 

Avec mon expression databinding j'ai

<a href="#" class="button" onclick='<%# string.Format(
    "$('#{0}').{1}", 
    Eval("Key"), 
    ".toggle('blind', { easing: 'easeInOutSine'}); return false" 
)%>'> 

qui ne soulève pas d'erreur ou quoi que ce soit mais quand il rend sur le html quand je l'inspecte avec Firebug c'est ce qu'il montre à partir du navigateur

<a false="" return="" });="" easeinoutsine="" easing:="" {="" 
,="" blind="")..toggle(="" #plan1="" 
onclick="$(" class="button" href="#"> 

J'ai essayé Quelques tentatives pour l'incruster avec et sans la chaîne.Format, en utilisant une fonction à l'intérieur du codebehind que j'appelle pendant mon databinding, tout semble produire cette sortie brouillée. Est-ce que je rate une évasion ou quelque chose de similaire quelque part?

Répondre

1

Lorsqu'il analyse le fichier ASPX, il trébuche sur les apostrophes dans votre déclaration d'attribut. C'est quelque chose qui n'est pas juste ici. En quelque sorte ... Vous devrez contourner cela.

Vous pouvez essayer quelque chose comme ceci:

<%#String.Format("<a href=\"#\" class=\"button\" onclick=\"$('#{0}').toggle('blind',{easing: 'easeInOutSine'}); return false;\">", Eval("Key"))%> 
+0

Générer la ligne entière de html pour le lien était la seule manière que je pourrais l'obtenir pour fonctionner, merci pour l'idée! –

0

essayer:

<a href="#" class="button" onclick='<%# string.Format(
    "$(&apos;#{0}&apos;).toggle(&apos;blind&apos;, { easing: &aposeaseInOutSine&aposbv}); return false", 
    Eval("Key"))%>'> 
0

Dans le code supérieur, onclick est entouré par des guillemets doubles. dans le code du bas, il est entouré de guillemets simples; Comme le mentionne Blesh, c'est la source de votre angoisse.

Questions connexes