DropDownListFor 不显示所选值

DropDownListFor not showing selected value

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

VIEW

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

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

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

控制器

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

    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;

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

我很想知道问题出在哪里,所以我们将不胜感激。

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