Как правильно настроить пользовательское свойство профиля в DNN?

Я пытаюсь сохранить пользовательское свойство в существующем профиле пользователя в DNN 7, но свойство профиля не устанавливается. Должно быть, я что-то неправильно понимаю.

Итак, как правильно настроить пользовательское свойство профиля в DNN?

UserInfo.Profile.SetProfileProperty("key","value")

// I expect this to return "value", but it's always ""
var value = UserInfo.Profile.GetProfileProperty("key");

// Even if I save it...
ProfileController.UpdateUserProfile(UserInfo);

// It always returns ""
var savedValue = UserInfo.Profile.GetProfileProperty("key");

Примечание. Я также пробовал InitialiseProfile, но это не изменило поведение.


person Joe Zack    schedule 26.08.2014    source источник


Ответы (1)


Вот как я получаю доступ к свойству из свойства в базовом классе модуля, который у меня есть для клиента.

public string SomeKey
{
    get
    {
        var ppd = UserInfo.Profile.GetProperty("SomeKey");
        if (ppd.PropertyValue == string.Empty)
        {

            var SomeKeyValue = "blah"
            //update the user's profile property
            UserInfo.Profile.SetProfileProperty("SomeKey", SomeKeyValue);
            //save the user
            DotNetNuke.Entities.Users.UserController.UpdateUser(PortalId, UserInfo);
            //retrieve again
            return SomeKey;
        }
        string returnValue = ppd.PropertyValue ??
                             (String.IsNullOrEmpty(ppd.DefaultValue) ? String.Empty : ppd.DefaultValue);
        return returnValue;
    }
}
person Chris Hammond    schedule 27.08.2014
comment
Спасибо! Я думаю, что часть, которую я пропустил, заключается в том, что я не настроил свойство/тип для пользователей через пользовательский интерфейс. - person Joe Zack; 30.08.2014
comment
Ах да, кажется, я забыл упомянуть и эту часть :D - person Chris Hammond; 30.08.2014