我很陌生。我只是把自己绑在一起看着我在网上看到的答案。他们似乎所做的一切让我更加困惑。
我在create方法中有一个带有以下内容的控制器:
public IActionResult Create() {
ViewData["ConditionID"] = new SelectList(_context.Conditions, "ConditionID", "iCondition");
ViewData["EqTypeID"] = new SelectList(_context.EqTypes, "EqTypeID", "EquipmentType");
ViewData["MakeID"] = new SelectList(_context.Makes, "MakeID", "eqMake");
ViewData["SiteID"] = new SelectList(_context.Sites, "SiteID", "SiteName");
ViewData["WaterBodyID"] = new SelectList(_context.WaterBodys, "WaterBodyID", "WBName");
return View();
}
然后从我的观点来看,我呼吁:
<div class="form-group">
<label asp-for="ConstructionID" class="col-md-2 control-label"></label>
<div class="col-md-10">
<select asp-for="ConstructionID" class ="form-control" asp-items="ViewBag.ConstructionID">
<option>--Select Construction--</option>
</select>
</div>
</div>
然而,这会在行选择asp等ViewBag.ConditionID上生成错误。
错误是:
NullReferenceException:未将对象引用设置为的实例 对象
正如我所说,我有点新意,有点迷失。我看上线并看到了很多解释,但它们似乎都像我父亲常说的那样有点高。
在我的简单思想中......我在我的模型中设置了ConditionID的实例。然后我在控制器中引用它,现在我从视图中引用它。它怎么可能是null,更重要的是为什么它可以为null?我很困惑。