Asp.net mvc M-V-C:如何在编辑模式下获取或指示列表框中的选定项?
我正在创建可多选列表框。我能够成功地将项目从模型渲染到列表框。以下是我的代码: 属性Asp.net mvc M-V-C:如何在编辑模式下获取或指示列表框中的选定项?,asp.net-mvc,ef-code-first,listboxitem,Asp.net Mvc,Ef Code First,Listboxitem,我正在创建可多选列表框。我能够成功地将项目从模型渲染到列表框。以下是我的代码: 属性 public IEnumerable<SelectListItem> carTypes { get; set; } public IEnumerable<string> selectedCarTypes { get; set; } 问题在于编辑操作。我一直试图突出显示编辑视图中为特定AssignId选择的所有列表框,例如,在列表框中有三个项目:现代、丰田和宝马,我选择宝马和丰田并创建分
public IEnumerable<SelectListItem> carTypes { get; set; }
public IEnumerable<string> selectedCarTypes { get; set; }
问题在于编辑操作。我一直试图突出显示编辑视图中为特定AssignId
选择的所有列表框,例如,在列表框中有三个项目:现代、丰田和宝马,我选择宝马和丰田并创建分配。现在,当我回到编辑视图时,它应该突出显示宝马和丰田
我从中获取了参考资料,但没有为我工作。这个问题有什么解决办法吗
修改:这是我的编辑操作
public ActionResult Edit(int? id)
{
if (id == null)
{
return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
}
Assigning assign = db.Assigning.Find(id);
if (assign == null)
{
return HttpNotFound();
}
return View(assign);
}
您可以将其作为SelectList传递,SelectList接受所选值
public SelectList(IEnumerable items,object selectedValue)
就你而言
@Html.DropDownListFor(n => n.selectedCarTypes,
new SelectList(Model.carTypes, Model.SelectedCarTypes))
编辑以下内容时,您没有设置模型:
Model.carTypes
应该是所有carTypes和
Model.selectedTypes
应该是所有选定值的列表
发布您的编辑方法。完成。请立即检查在编辑操作中,您将在何处添加carTypes
?您需要在编辑时为所选车型设置selected=true
。您可以解释如何从DB此行中获取保存的车型Assigning assign=DB.Assigning.Find(id)代码>?不工作。我需要列表框而不是下拉列表
public ActionResult Edit(int? id)
{
if (id == null)
{
return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
}
Assigning assign = db.Assigning.Find(id);
if (assign == null)
{
return HttpNotFound();
}
return View(assign);
}
@Html.DropDownListFor(n => n.selectedCarTypes,
new SelectList(Model.carTypes, Model.SelectedCarTypes))