ASP.NET MVC SelectList Select Option的值

ASP.NET MVC SelectList Select Option的值

问题描述:

我正在渲染一个下拉列表。ASP.NET MVC SelectList Select Option的值

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> 

我真的需要将“全部”的值设置为0。无法找到一种方法来做到这一点。找到一个教程,它使用SelectListItem完成,但不符合我的代码。 任何帮助真的很感激,谢谢。

+0

为什么你想将它设置为'0'?如果你确实需要它,那么你必须生成一个包含Value =“0”和Text =“All”的IEnumerable '(并且在你的DropDownList()方法中删除第三个参数) –

您可以始终在您的操作方法中构建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>) 
+0

谢谢,这个作品完美。虽然这样简单的事情有点长。但它回答了我的问题。 – HighSepton