私は MVC を初めて使用するので、ばかげているように聞こえるかもしれませんが、次のようになります。編集フォームに渡す必要がある 2 つのリストを含むモデルがあります。
public class BaseViewModel
{
public IEnumerable<portal_notifications_types> Types { get; set; }
public IEnumerable<portal_notifications_importances> Importances { get; set; }
}
編集フォームでは、このフィールドに 2 つのドロップダウン リストがあります。
@Html.DropDownListFor(m => m.Notification.TypeId, new SelectList(Model.Types, "Id", "Type"), "-- Select type --", new { onchange = "GetNotifType();", style = "width:150px;" })
@Html.DropDownListFor(m => m.Notification.ImportanceId, new SelectList(Model.Importances, "Id", "Importance"), "-- Select importance --", new { style = "width:150px;" })
最初に編集ビューに入ると、すべて問題なく、ドロップダウンリストが入力され、対応する値が選択されます。ただし、フォームを送信すると、Model.Types および Model.Importances リストが null であるため、ドロップダウン リストでエラーがスローされます。どうすればこれを克服できますか? ViewBag を使用してこれらのリストを保存することは避けたいと思いますが、それが機能することはわかっています。