我使用this example來開發一個下拉列表。直到我在我的視圖中調用我的模型的方式進行了一些更改後,它才運行良好。下拉列表模型類被稱爲dropdownModel。因爲我的視圖包含2個模型,所以我創建了一個「大」模型類BigModelClass,它包含我的兩個模型。MVC3使用下拉列表模型和其他模型在相同的視圖
大模型看起來像這樣
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: Object reference not set to an instance of an object.
上線
@Html.DropDownListFor(m => m.dropDownModel.State, new SelectList(Model.dropDownModel.StateList, "Value", "Text"))
Averything如果我只用dropDownModel優良樣板工程。
任何幫助是非常讚賞
編輯 的視圖控制器:
public ActionResult Index(){
return View (new BigModelClass());
}
發佈您的控制器的代碼,問題可能是您如何實例化模型。 – Johann
您正在使用m.dropDownModel,但我無法在BigModel中查看dropDownModel的定義 –
@Johann&Behnam:請參閱編輯。 – jpo