2013-06-26 1 views
1

J'ai un type de membre qui a une propriété personnalisée - nommons-le livres - de type de données case à cocher - donc le choix multiple est possible.umbraco comment mettre à jour plusieurs prévalue par programme

Maintenant j'essaye de mettre à jour ce membre par programmation avec de nouvelles valeurs pour livres. Dans le CustomXML il se présente comme CDATA, je passe une valeur

umbraco.cms.businesslogic.member.Member member = umbraco.cms.businesslogic.member.Member.GetMemberFromEmail(email); 
member.SetProperty("memberBooks", booksValue); 
member.Save(); 

où « booksValue » est une chaîne de valeurs séparées par des virgules - parce qu'il est la façon dont il apparaît dans la contentXml.

Cela ne fonctionne pas.

La question est - comment puis-je mettre à jour la propriété membre/xml avec de nouvelles valeurs multiples?

Répondre

0

voici ce que vous devez faire:

umbraco.cms.businesslogic.member.Member member = umbraco.cms.businesslogic.member.Member.GetMemberFromEmail(email); 
member.getProperty(“memberBooks”).Value = booksValue; 
member.Save(); 

J'espère que cela devrait fonctionner. Je ne l'ai pas essayé depuis longtemps mais c'est comme ça que je l'ai utilisé.

+0

Bonjour @Ankur Ghelani, merci mais j'ai essayé et ça ne marche pas non plus. – nickornotto

3

J'ai résolu ce problème.

deux

member.getProperty(“memberBooks”).Value = booksValue; 

et

member.SetProperty("memberBooks", booksValue); 

travail

Je ne faisais que passer des valeurs erronées.

Dans le contentXml ils affichent en tant que valeurs, mais en fait je besoin de mettre à jour la propriété avec les ids donc si le type de données est la liste des cases à cocher et les valeurs sont comme:

1 - livre

2 - booko

3 - booki

puis dans le contentXml il affiche une liste « livre, booko, booki » mais pour le mettre à jour programatically je devais passer: « 1,2,3 » à la propriété.

il devrait donc être:

member.SetProperty("memberBooks", "1,2,3"); 

au lieu de:

member.SetProperty("memberBooks", "book,booko,booki"); 

J'espère que cela aide les autres avec le même problème.

+0

Je suis heureux que vous avez trouvé la solution –

+0

Ceci est utile, mais vous devez toujours obtenir les ID. J'ai créé des méthodes d'extension pour aider avec ceci à https://gist.github.com/alindgren/bc670f2e0d938d1b788d38a70720e102 – Alex

Questions connexes