3

これは本当に簡単だと思いましたが..

さまざまなプロパティを持つユーザーとメンバータイプを作成しました。メンバーオブジェクトを介してプロパティにアクセスしようとしても、何も得られませんでした。

//メンバーmは現在のユーザーです

例えば。プロパティs=m.getProperty( "PreferdUserName"); 無効である

m.getPropertiesのカウントはゼロです。

明らかな何かを見逃したことがありますか?

4

5 に答える 5

0

スペルミスはありますか?

「PreferdUserName」は「PreferredUserName」にすることができます。

それ以外は正しく見えます。

于 2010-05-11T20:26:24.657 に答える
0

結局、私はメンバーのプロパティを別のデータベーステーブルに保存することにしました。これはとにかく私が必要とするものに近いものです。カスタムmsbuildタスクを使用してumbracoの外部からmemberTypeを作成した方法と関係があると思います。

于 2010-05-13T07:49:08.693 に答える
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 に答える