DropDownListFor不显示所选值

时间:2018-02-07 11:24:03

标签: asp.net-mvc razor selectlist

我的视图中有一个下拉列表,由于某种原因,无论我一直在尝试什么,都不显示所选值,尽管我可以使用它来选择值并使用它们更新数据库没有问题。

查看

所以在视图中我有以下代码来显示字段

@Html.DropDownListFor(model => model.FormType, ViewBag.FormType as SelectList, new { @class = "form-control" })

“ViewBag.FormType”在控制器中从SelectList对象创建,然后我使用viewbag对象传入。

CONTROLLER

我正在使用一些代码生成选择列表,然后从数据库中为该记录的值中选择所选值。我在这里,我认为问题是

    short FormType = 0;

    if (account?.FormType != null)
    {
        FormType = (short)account.FormType;
    }

    var FormTypeList = new SelectList(
        new List<object>
            {
                new {value = "0", text = "Please Select..."},
                new {value = "1", text = "Full"},
                new {value = "2", text = "Short"}
            }, "value", "text", FormType);


    ViewBag.FormType = FormTypeList;

起初我认为问题是数据库中的值是一个数值而选择列表中的“值”是一个文本,所以我尝试将它们从一个切换到另一个并且它没有帮助。在我使用数据库中的值的示例中是2。

我很想知道问题是什么,所以任何帮助都会受到赞赏。

1 个答案:

答案 0 :(得分:1)

@Html.DropDownList("FormType", null, "Select", htmlAttributes: new { @class = "form-control" })