如何创建DropDown列表以编辑数据?

时间:2018-05-09 14:06:57

标签: asp.net-mvc dropdownlistfor

我有两个部分视图 - 一个用于添加数据,另一个用于编辑。 其中一个字段代表几个月,所以为了插入那个字段,我创建了一个带有for循环的ViewBag,从1到12填充它。这很好。

我的问题是如何进行编辑?如何创建将显示编辑月数的相同DropDown列表?

这就是我插入的内容:

在我的控制器中:

var lMesec = new List<int>();
        for (int i = 1; i <= 12; i++)
        {
            lMesec.Add(i);

        }

ViewBag.listaMesec = new SelectList(lMesec);

在我看来:

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

当我在阅读数据进行编辑时,我认为这是:

 @Html.EditorFor(model => model.mesec, new { htmlAttributes = new { @class = "form-control" } })

如何将其设置为DropDown列表,其值可以是1-12?

我正在使用SqlDataAdapter读取数据,所以我有这个值:

 model.mesec = dt.Rows[0][3] != DBNull.Value ? Convert.ToInt32(dt.Rows[0][3]) : 0;

2 个答案:

答案 0 :(得分:1)

您可以创建表单助手类。像[yourname] .cs(建议在formhelper文件夹中的所有表单助手,以便于访问/定位)

@Html.numberDropdownlistFor(x => x.Number)

然后在您的表单中,您将调用新创建的ddl,如:

{{1}}

这在过去对我有用,但有更大的下拉列表。 希望这有帮助 - 也可以交换数字及其相关的拼写版本

答案 1 :(得分:0)

答案很简单,@ ADyson提供了它。 我所要做的就是在编辑表单上使用相同的DropDownListFor,并在控制器的编辑部分中定义该列表。