2009-08-04 15 views
0

ASP.NETで異なるユーザーに異なるフォームフィールドを表示する最も良い方法は何ですか?ASP.NETのさまざまなユーザーに異なるフォームフィールドを表示する最適な方法は何ですか?

ここに例があります: 私はTextBox1、TextBox2、TextBox3を持つフォームを持っています。 ユーザーAはTextBox1とTextBox3のみ表示できます。 ユーザーBは、TextBox2とTextBox3しか見ることができません。 ...

多くのユーザーまたはフォームフィールドがある場合。すべてのロジックをコーディングするのは面倒です。 ハンドコーディングされたロジックなしでこれを達成するためのエレガントな方法はありますか?

答えて

1

LoginViewコントロールを使用できます。これは小さいhow-toです。

0

関連するコントロールをパネルでグループ化するのが好きですが、ユーザーのグループ間の相違が小さい場合は、コントロールの表示のオン/オフを切り替えるだけで十分です。

さまざまなシナリオをテストすることをお勧めします。これは、多くの場合、テストが失敗する場所です。

多くのコントロールがある場合は、それらを動的に作成することを検討する価値があります。

0

ロールベースの認証を使用している場合は、ReadWriteAuthorizationと同様のものをCSLAに書くことができます。
これは、ユーザーがコントロールがバインドされている特定のプロパティを読み書きできるように、読み取り専用または空のコントロールを有効/無効/設定します。
この機能を強化することで、コントロールの表示/非表示も可能です。もちろん、これは、ビジネスオブジェクトが、どのロールでどのプロパティを表示できる(または表示できない)のかを知る必要があることを意味します。

0

もう1つの考えられる方法は、ASPでプロファイルを使用し、プロファイル内の各ユーザーのコントロールのプロパティを格納することです。 このようにして、コントロールのプロパティをページ読み込み中に読み込むことができます。 などの

labelPostalCode.Text = Profile.PostalCode; 

参考: http://msdn.microsoft.com/en-us/library/taab950e.aspx

関連する問題