簡體   English   中英

umbraco如何以編程方式更新多個prevalue

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM