Получите Свойства от Участника в Umbraco программно - PullRequest
3 голосов
/ 30 апреля 2010

Я думал, что это будет действительно просто, но ..

Мы создали пользователя и тип члена с различными свойствами Когда мы пытаемся получить доступ к свойствам через объект-член, мы ничего не получаем.

// Пользователь m является текущим пользователем

например. Свойство s = m.getProperty ("PreferdUserName"); является нулевым

m.getProperties имеет счетчик нуля.

мы что-то упустили очевидное?

Ответы [ 5 ]

0 голосов
/ 22 октября 2014

Это может помочь кому-то еще, если вам нужно получить информацию об участнике, отличном от текущего пользователя в Umbraco, и указать его имя пользователя.

var TheirUsername = "s12345";

Member MemberFind = new Member(Convert.ToInt32(Membership.GetUser(***TheirUsername***).ProviderUserKey));

//now use this value

var NameOfUser = MemberFind.Text;

var EmailAddress = MemberFind.Email;
0 голосов
/ 01 июля 2013

Вы можете создать свой собственный класс и расширить ProfileBase. Код ниже представит свойства, которые вы создали в Umbraco. например псевдонимом umbraco является 'first_name'.

[SettingsAllowAnonymous(false)]
public string FirstName
{
    get
    {
        var o = base.GetPropertyValue("first_name");
        if (o == DBNull.Value)
        {
            return string.Empty;
        }
        return (string)o;
    }
    set
    {
        base.SetPropertyValue("first_name", value);
    }
}

Тогда вы можете получить доступ к таким свойствам, как ...

string firstName = ((MemberProfile)HttpContext.Current.Profile).FirstName;

Более подробную информацию о том, как настроить все это можно увидеть здесь:

http://www.aaron -powell.com / сообщений / 2010-04-07-Umbraco-члены-profiles.html

0 голосов
/ 13 мая 2010

В конце я прибег к хранению свойств элементов в отдельной таблице БД, которая в любом случае ближе к тому, что мне нужно.Я предполагаю, что это как-то связано с тем, как я создал memberType извне umbraco с помощью пользовательской задачи msbuild.

0 голосов
/ 21 мая 2010

Попробуйте

Property s = m.getProperty("PreferdUserName").value;

Если это по-прежнему не работает, то прочитайте этот замечательный пост о свойствах членов

http://legacy.aaron -powell.com / блог / июль-2009 / Umbraco-член-profiles.aspx

0 голосов
/ 12 мая 2010

Может ли быть орфографическая ошибка?

«PreferdUserName» может быть «PreferredUserName».

Кроме того, это выглядит правильно.

...