【发布时间】:2018-11-30 23:10:46
【问题描述】:
我在使用 Umbraco Identity 时遇到了问题。尝试设置自定义 TrueFalse 属性时,不会存储该值。我观察到,如果我通过 CMS 设置值,则该值报告为“1”表示真,或“0”表示假。但是当我尝试以编程方式设置该值时,该值并未保存。
有人能看出我做错了什么吗?
var member = UserManager.FindByEmail(model.Email);
if (model.MarketingOptin) //Always true in this case
{
member.MemberProperties.First(p => p.Alias == "marketingOptIn").Value = "1";
}
else
{
member.MemberProperties.First(p => p.Alias == "marketingOptIn").Value = "0";
}
UserManager.Update(member);
【问题讨论】:
-
这听起来可能很愚蠢,但是您可以尝试通过 MemberService 来做吗?只是看看这是否有效。如果你在 SurfaceController 中,你可以这样做: var ms = Services.MemberService; var myMember = ms.GetByEmail("test@test.com"); myMember.SetValue("marketingOptIn", "1");或者如果 1 不起作用,请尝试“true”而不是 1。
-
@Mikkel 您的评论可能应该是完全成熟的答案。这似乎是 OP 做的正确事情。
-
@Harvey - 谢谢。我会发布一个答案,然后我们将看看 OP 是否要将其标记为一个 :)