没有选择值selectlist部分视图asp.net mvc

时间:2014-05-03 13:14:49

标签: asp.net-mvc

所以我有一个带有局部视图的编辑视图。在这个局部视图中,我有一个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)

我错过了什么?它通常适用于普通视图,为什么不使用部分?

1 个答案:

答案 0 :(得分:0)

如果您的逻辑不需要局部视图,请不要在这种情况下包含它。在编辑chtml视图中使用这些代码行。在你的情况下调试它,看看你真正发送到下拉列表的是什么。我看到你在编辑视图中包含了下拉列表dana。如果使用局部视图,则必须将对象传递给控制器​​中的该视图。

public ActionResult PartialDDLData()     {

    ViewBag.CustomerGlobalQuality = new SelectList(db.GlobalQuality, "Id", "Quality", c.Skill.GlobalQuality);            
    return Partial("_nameOfView",ViewBag.CustomerGlobalQuality);
}

并确保您可以在共享或控制器视图文件夹中访问您的部分视图。