3

I thought this would be really simple but ..

We've create a user and a member type with various properties When we try to access the properties via the member object we got nothing.

//Member m is current User

eg. Property s = m.getProperty("PreferdUserName"); is null

m.getProperties has a count of Zero..

have we missed something obvious?

4

5 回答 5

0

最后,我将成员属性存储在一个单独的数据库表中,无论如何这更接近我的需要。我认为这与我使用自定义 msbuild 任务从 umbraco 外部创建 memberType 的方式有关。

于 2010-05-13T07:49:08.693 回答
0

会不会有拼写错误?

“PreferdUserName”可能想要成为“PreferredUserName”。

除此之外,它看起来是正确的。

于 2010-05-11T20:26:24.657 回答
0

您可以创建自己的类并扩展 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/posts/2010-04-07-umbraco-members-profiles.html

于 2013-07-01T09:48:59.920 回答
0

如果您需要获取除 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;
于 2014-10-22T05:49:27.390 回答
-1

尝试

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

如果这仍然不起作用,请查看这篇关于成员属性的精彩帖子

http://legacy.aaron-powell.com/blog/july-2009/umbraco-member-profiles.aspx

于 2010-05-21T06:06:30.547 回答