J'utilise Microsoft Ajax pour remplir dynamiquement une liste de contacts, à partir d'un paquet json. Mon code est le suivant:Problème avec Sys.UI.DataView et javascript
function fillContactsFromData(contacts) {
// this is just for debug to let me know that the data is correct
if (contacts.length > 0) {
alert('ID: ' + contacts[0].ID + ', Name: ' + contacts[0].Name);
}
$create(Sys.UI.DataView, { data: contacts }, null, null, $get('contacts'));
}
Le code HTML associé est la suivante:
<div id="contacts" class="sys-template">
<a onclick="removeContact('{{ ID }}');"><img src="remove.png" /></a>
<a class="contact" rel="/Contacts/Index/{{ ID }}">{{ Name }}</a><br />
</div>
La première < une étiquette > est utilisé pour déclencher un script pour supprimer le contact, tandis que le second utilise le jQuery Cluetip pour élever une boîte sur le vol stationnaire (les détails ont sauté ici).
Le problème que j'ai est que le HTML n'est pas rendu correctement. Ce qui est généré est:
<div id="contacts">
<a><img src="remove.png" /></a>
<a class="contact" rel="/Contacts/Index/{{ ID }}">Darren Oster</a><br />
</div>
La zone d'alerte indique que les données avec carte d'identité valide (Guid) et le nom (« Darren Oster »). Le nom est rendu correctement, mais le champ ID n'est pas rendu dans l'attribut 'rel' et l'instruction 'onclick' est entièrement supprimée.
Est-ce une limitation de MS Ajax ou est-ce que je fais quelque chose de mal?
Merci d'avance.