この例を使用して、ドロップダウンリストを作成しています。ビュー内でモデルを呼び出す方法を変更するまでは、うまく機能します。ドロップダウンリストモデルクラスは、dropdownModelと呼ばれます。ビューには2つのモデルが含まれているため、2つのモデルを保持する「大きな」モデルクラスBigModelClassを作成しました。
大きなモデルはこんな感じ
public class BigModelClass {
public DropDownModel dropDownModel { get; set; }
public IEnumerable<projectname.Model.model2> var2 { get; set; }
}
私の見解では、モデルを次のように呼びます。
@model BigModel
私の見解では、次のようにドロップダウンリストを使用します。
@Html.LabelFor(m => m.dropDownModel.State)
@Html.DropDownListFor(m => m.dropDownModel.State,
new SelectList(Model.dropDownModel.StateList, "Value", "Text"))
<span class="required"></span>
@Html.ValidationMessageFor(m => m.dropDownModel.State)
残念ながら、次のエラーが発生します。
System.NullReferenceException:オブジェクト参照がオブジェクトのインスタンスに設定されていません。
ライン上
@ Html.DropDownListFor(m => m.dropDownModel.State、new SelectList(Model.dropDownModel.StateList、 "Value"、 "Text"))
dropDownModelモデルのみを使用すると、すべてが正常に機能します。
どんな助けでも大歓迎です
ビューのコントローラーを編集します。
public ActionResult Index(){
return View (new BigModelClass());
}