ASP.NET MVC选择SelectList的选项值

时间:2017-11-10 21:13:00

标签: asp.net-mvc razor

我正在渲染一个下拉列表。

ViewBag.Categories = new SelectList(db.HelpCategories, "ID", "Name");

在我看来,我称之为:

Categories: @Html.DropDownList("Categories", (SelectList)ViewBag.Categories, "All")

我为此选择了这样的选择值。

<select id="Categories" name="Categories">
   <option value="">All</option>
   <option value="1">Dėl Krepšelių</option>
</select>

我真的需要将“All”的值设置为0.无法找到一种方法。找到了一个用SelectListItem完成的教程,但这不符合我的代码。 非常感谢任何帮助,谢谢。

1 个答案:

答案 0 :(得分:1)

您可以随时在操作方法中构建SelectListItem列表,如果您绝对需要,可以明确添加具有特定valuetext的项目。

var categoryList = new List<SelectListItem>
{
    new SelectListItem { Value="0", Text = "All"}
};

categoryList.AddRange(db.HelpCategories
                        .Select(a => new SelectListItem {
                                                          Value = a.Id.ToString(),
                                                          Text = a.Name}));
ViewBag.CategoryList = categoryList;

return View();

现在在您的视图中,您将使用ViewBag.CategoryList来构建SELECT元素

@Html.DropDownList("Categories", ViewBag.CategoryList as IEnumerable<SelectListItem>)