ドロップダウンリストの選択からモデルを作成する方法があるかどうか知りたいです。例えば:
私のビューはモデル Employee にバインドされており、Employee クラスにはプロパティ 'Department' があります。これは独自のプロパティを持つ別のクラスです。
私の従業員ビューモデル:
public class Employee
{
public string EmployeeName{get;set;}
public Department EmployeeDepartment{get;set;}
public List<Department> AvailableDepartments {get;set;}
}
部門モデル:
public class Department
{
public string Code{get;set}
public string Name{get;set;}
public string Description{get;set;}
}
従業員の詳細を入力するビューでは、ドロップダウンを使用して、ユーザーが従業員の部門を選択できるようにします。
@Html.DropDownListFor(
m => m.EmployeeDepartment,
new SelectList(@Model.AvailableDepartments , "Code", "Name")
)
フォームを送信すると、コントローラーで「Employee Class」のインスタンスが取得されますが、明らかに EmployeeDepartment プロパティは null になります。
文字列プロパティ「EmployeeDepartmentCode」を追加してドロップダウンリストにマップすると、機能することを認識しています。しかし、文字列プロパティを使用するのではなく、Department モデル プロパティを設定する方法はありますか? - このビュー モデルは、従業員の部署名を表示するグリッドでも使用されるためです。