Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc 没有类型为';IEnumerable<;选择列表项>';那有钥匙';成员资格类型SID';_Asp.net Mvc - Fatal编程技术网

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();
  }

为什么不直接通过模型传递列表?为什么不直接通过模型传递列表?