Asp.net mvc 没有类型为';IEnumerable<;选择列表项>';那有钥匙';成员资格类型SID';
视图类Asp.net mvc 没有类型为';IEnumerable<;选择列表项>';那有钥匙';成员资格类型SID';,asp.net-mvc,Asp.net Mvc,视图类 <div class="editor-label"> @Html.LabelFor(model => model.MembershipTypesId, "MembershipTypesId", htmlAttributes: new { @class = "control-label col-md-2" }) </div> <div class=&quo
<div class="editor-label">
@Html.LabelFor(model => model.MembershipTypesId, "MembershipTypesId", htmlAttributes: new { @class = "control-label col-md-2" })
</div>
<div class="editor-field">
@Html.DropDownList("MembershipTypesId", null, htmlAttributes: new { @class = "form-control" })
@Html.ValidationMessageFor(model => model.MembershipTypesId, "", new { @class = "text-danger" })
</div>
我对其他视图和控制器使用了相同的代码,但不知何故,只有这一个得到了错误。我试图删除空值,但它仍然是一样的。您的错误消息表明您没有
视图数据
,您应该传递此下拉列表
:
@Html.DropDownList("MembershipTypesId", null, htmlAttributes: new { @class = "form-control" })
它正在查找名为MembershipTypesId
如果ModelState
没有问题,那么控制器上的代码是正确的,但是如果ModelState
中有错误呢?您需要在视图中传回的ViewData
在哪里
在从控制器返回视图之前,应先填充此字段:
public ActionResult Register(Customers customer)
{
if (ModelState.IsValid)
{
//Business Logic
}
ViewBag.MembershipTypesId = new SelectList(dc.MembershipTypes, "MembershipTypesId", "Name");
return View();
}
您的错误消息表明您没有应在此
DropDownList上传递的ViewData
:
@Html.DropDownList("MembershipTypesId", null, htmlAttributes: new { @class = "form-control" })
它正在查找名为MembershipTypesId
如果ModelState
没有问题,那么控制器上的代码是正确的,但是如果ModelState
中有错误呢?您需要在视图中传回的ViewData
在哪里
在从控制器返回视图之前,应先填充此字段:
public ActionResult Register(Customers customer)
{
if (ModelState.IsValid)
{
//Business Logic
}
ViewBag.MembershipTypesId = new SelectList(dc.MembershipTypes, "MembershipTypesId", "Name");
return View();
}
为什么不直接通过模型传递列表?为什么不直接通过模型传递列表?