Employee
MVC3/Razor アプリケーションの「編集」ビューにバインドしているエンティティがあります。Employee
エンティティには のプロパティがありますOccupationTypeId
。複数のルックアップ値を含むテーブルをOccupationTypeId
指します。OccupationType
自然な選択は、職業のリストを含むタグを@Html.DropDownListFor
レンダリングするために使用することです。<select>
OccupationType
テーブル スキーマはかなり標準的です: Id, Name, Description, IsEnabled
. OccupationTypes は無効にできるため、OccupationTypeId
ドロップダウンで無効なオプションを引き続きレンダリングして、ユーザーが無効な場合にいつでも選択内容を確認できるようにしたいのですが、ユーザーは無効なオプションを選択できません。つまり、ユーザーは既存OccupationTypeId
のオプションを無効に変更することはできません。
オプションを使用してタグを作成し、無効なオプションに属性を追加するだけの@Html
拡張メソッドを作成することを考えました。それはまっすぐだと思います...<select>
disabled
ただし、選択したオプションを無効にすると、コントローラーメソッドにポストバックされないようです。つまり、Employee.OccupationTypeId
編集に投稿すると null になります。
この動作を変更する方法はありますか、またはこれは MVC 3 に組み込まれていますか? 隠しフィールドを使用することを考えましたが、OccupationTypeId が必要で、検証が有効になっている場合はどうなりますか?
他の誰かがこれに直面しましたか?
ありがとう