[英]umbraco how to update multiple prevalue programatically
我有一個具有自定義屬性的成員類型 - 讓我們將其命名為書籍 - 數據類型復選框 - 因此可以進行多項選擇。
現在,我正在嘗試使用新的書籍值以編程方式更新此成員。 在customxml中它以cdata形式出現,我將值傳遞為
umbraco.cms.businesslogic.member.Member member = umbraco.cms.businesslogic.member.Member.GetMemberFromEmail(email);
member.SetProperty("memberBooks", booksValue);
member.Save();
其中'booksValue'是一串用逗號分隔的值 - 因為它就是它在contentXml中的顯示方式。
它不起作用。
問題是 - 如何使用新的多值更新成員屬性/ xml?
我已經解決了這個問題。
都
member.getProperty(“memberBooks”).Value = booksValue;
和
member.SetProperty("memberBooks", booksValue);
工作
我只是傳遞錯誤的價值觀。
在contentXml中,它們顯示為值,但實際上我需要使用ids更新屬性,因此如果數據類型是復選框列表,則值如下:
1本書
2 - booko
3 - booki
然后在contentXml中它顯示為列表“book,booko,booki”,但是以編程方式更新它我必須通過:“1,2,3”到該屬性。
所以它應該是:
member.SetProperty("memberBooks", "1,2,3");
代替:
member.SetProperty("memberBooks", "book,booko,booki");
我希望它可以幫助其他人解決同樣的問題。
這是你需要做的:
umbraco.cms.businesslogic.member.Member member = umbraco.cms.businesslogic.member.Member.GetMemberFromEmail(email);
member.getProperty(“memberBooks”).Value = booksValue;
member.Save();
我希望這應該有效。 我很久沒有嘗試過,但這就是我用它的方式。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.