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