2

ユーザーの資格情報に基づいて、ユーザーがフィールドを編集できるようにするか、Razor ビューで編集できないようにします。

したがって、現在、禁止しているプロパティに対してこれを実行できるモデルが 1 つあります。

[Editable(allowEdit=false)]
public string FirstName {get;set;}

しかし、ユーザーが編集する権限を持っているかどうかにかかわらず、属性を追加すると、編集できなくなります。モデル プロパティをレンダリングする方法が大きく異なるため、Razor ビューのフィールドも変更できません。

どうすればこの問題を克服できますか?

4

1 に答える 1

0

カスタム検証属性を作成してそれを使用したい場合があります。その中にブール値を挿入し、チェックして条件付きにすることができます(C#で)。

より良いオプションは、Fluent Validation を使用することです。条件付き検証が必要な場合は、Fluent Validation を使用する方がはるかに簡単です。また、モデルをよりクリーンに保ちます。

したがって、可能であればFluent validationを使用し、そうでない場合は、独自のプロパティを定義し、すべての条件を含むコードで制御してください。例とライブラリへのリンクはこちら

ここに別のオプションがあります-達成しようとしている作業を簡単にすることを目的として構築された完全なライブラリ: http://foolproof.codeplex.com/

お役に立てれば

于 2013-03-08T19:01:10.440 に答える