0

アプリ: Silvelight 4 ビジネス アプリ テンプレート + RIA サービス + C#。aspnet メンバーシップ データベースをデータベースに結合しました。ユーザー登録、ログイン、ログアウトできました。

アプリケーション/クライアント側の UI からユーザーの役割を割り当てることができる必要があります。構成ツールを使用して作成した aspnet メンバーシップには 3 つの役割があります。

aspnet_Users テーブルからのUserIdをFKとして、aspnet_Rolesテーブルからの RoleID をFKとして、Startdate を PK として持つ追加のテーブル「UserAccess」を作成しました。

ADO.net エンティティ データ モデルを使用して生成されたエンティティ。ドメイン サービス クラスは、これらのエンティティを使用して生成されます。

サービスクラスファイルに「include」キーワードを追加しました

UserAccesses.Include("aspnet_Users").Include("aspnet_Roles");

メタデータ ファイル内

[Include]
public aspnet_Roles aspnet_Roles { get; set; }
[Include]
public aspnet_Users aspnet_Users { get; set; }

私はそれらにナビゲーションプロパティを持っていたので。

ドメイン データソース (RIA コントロール) を使用し、データグリッドを自分のページにドラッグしました。ロールをコンボボックスに設定しました。他のテーブルからのユーザー名とロール名を含むテーブルを正常にロードできました。デフォルトでは、すべてが正しく表示されています。

<ComboBoxItem Content="{Binding Path=aspnet_Roles.RoleName, Mode=TwoWay}" />

しかし、セル/コンボボックスをクリックすると、ユーザーが変更を編集/選択して送信できるように、利用可能な3つのロールをロードしたいですか? どうすればこれを達成できますか?

乾杯

4

1 に答える 1

0

aspnet_Rolesテーブルの行をロードし、それをComboBoxにバインドする必要があります。別のプロパティに保存し、このようにバインドする必要があります

ItemSource={Binding Path=Roles, Source={StaticResource YourViewModel}}"

乾杯!ヴィノド

于 2012-07-12T04:27:30.430 に答える