5

私は ASP.NET MVC 1 を使用しており、WebProfile Builder VS アドインを使用してカスタム プロファイル クラスを追加しました (ここにあります: http://code.msdn.microsoft.com/WebProfileBuilder/Release/ProjectReleases.aspx?ReleaseId =980 )。

私のフォームの 1 つで、特定のプロファイル値を共有するすべてのユーザーのドロップダウン リストが必要です。

以下を使用して、すべてのユーザーのリストを取得できることがわかります。

Membership.GetAllUsers()

ただし、特定のプロファイル値 (私の場合は CellId) を持つすべてのユーザーを取得する方法がわかりません。

私はこれに正しい方法で取り組んでいますか?どのユーザーが管理者かなどを定義するためにメンバーシップ ロールを使用しましたが、プロファイルはユーザーをグループ化するのに適した場所のようです。

ユーザーリストへのアクセス方法の詳細だけでなく、ここで正しい道を追求しているかどうかについてのコメントもあれば、どのような指針も大歓迎です。

どうもありがとう、サム

4

2 に答える 2

3

プロファイル用のクエリ API はありませんが、これによりいくつかのガイダンスが得られる場合があります。

var usersWithNonZeroCounter = Membership.GetAllUsers().Cast<MembershipUser>()
    .Where(user => true /*insert your user criteria here*/)
    .Select(user => ProfileBase.Create(user.UserName, true))
    .Where(profile => ((int)profile["counter"]) > 0 /*insert your profile criteria here*/)
    .ToList();
于 2010-05-02T00:42:44.840 に答える
1

比較が 1 つだけ必要な場合は、次のステートメントを使用できます。

return Membership.GetAllUsers().Cast<MembershipUser>()
        .Where(user => ((int)ProfileBase.Create(user.UserName, true)["Owner"]) == _ownerid);

さらに評価が必要な場合は、let演算子を使用してプロファイルを保存しないでください。

于 2011-09-12T12:20:49.037 に答える