EF5のDropDownListFor列挙型のように、コードの最初のEF列挙型からドロップダウンリストを生成したいと思います。提供されているソリューションは機能しますが、選択した値は設定されません。どうすればこれを行うことができますか?以下のコードを試しましたが、機能しません(SelectListの最後のパラメーターが選択された値を再表します:
@Html.DropDownListFor(model => model.TypeID, new SelectList(Enum.GetValues(typeof(Models.OrganisationType)),model.TypeID))
私は私の質問に答えました。上記のコードは、ドロップダウンで選択した値を正しく設定します。以下のように、プロパティに「タイトル」、列挙型に「タイトル」という単語を使用したときに、何らかの理由でMVCが列挙型とプロパティの名前を気に入らなかった。
@Html.DropDownListFor(model => model.Title, new SelectList(Enum.GetValues(typeof(BL.Titles)),Model.Title),"")
また、作成と編集の両方に1つのビューを使用しているため、オブジェクトが作成される前にMVCが選択された値を設定しようとするのを停止するコードを追加する必要がありました。
@if(Model == null) {
@Html.DropDownListFor(model => model.PersonsTitle, new SelectList(Enum.GetValues(typeof(HLRA.eForms.BL.PersonsTitle))),"")
}
else
{
@Html.DropDownListFor(model => model.PersonsTitle, new SelectList(Enum.GetValues(typeof(HLRA.eForms.BL.PersonsTitle)),Model.PersonsTitle),"")
}
もっとエレガントな方法を知っている人はいますか?