所以我有一个带有局部视图的编辑视图。在这个局部视图中,我有一个selectlist(或下拉列表),其值来自ViewBag。在控件中我包含了所选的值,但它只是起作用。
public ActionResult Edit(int id = 0)
{
Customer c = db.Customer.Find(id);
ViewBag.CustomerGlobalQuality = new SelectList(db.GlobalQuality, "Id", "Quality", c.Skill.GlobalQuality);
return View(c);
}
在PARTIAL VIEW中我有:
@Html.DropDownList("CustomerGlobalQuality")
@Html.ValidationMessageFor(model => model.Skill.GlobalQuality)
我错过了什么?它通常适用于普通视图,为什么不使用部分?
答案 0 :(得分:0)
如果您的逻辑不需要局部视图,请不要在这种情况下包含它。在编辑chtml视图中使用这些代码行。在你的情况下调试它,看看你真正发送到下拉列表的是什么。我看到你在编辑视图中包含了下拉列表dana。如果使用局部视图,则必须将对象传递给控制器中的该视图。
public ActionResult PartialDDLData() {
ViewBag.CustomerGlobalQuality = new SelectList(db.GlobalQuality, "Id", "Quality", c.Skill.GlobalQuality);
return Partial("_nameOfView",ViewBag.CustomerGlobalQuality);
}
并确保您可以在共享或控制器视图文件夹中访问您的部分视图。