下拉列表"全选" MVC3中的选项

时间:2015-10-05 15:26:45

标签: c# asp.net asp.net-mvc asp.net-mvc-3

所以我希望标题能说明一切。

我想创建一个带有"选择全部"的下拉列表最顶层的选项。 问题是我不知道如何开始这个,并希望有人可以帮助我完成这个任务。经过一番浏览,我找不到任何好的例子,并决定在这里发布这个问题。

我还不太了解MVC,我还在学习。无法向您显示任何代码,因为正如我之前所说,我不知道从哪里开始。

我不是要求整个代码示例,而是一个如何执行此操作以及如何开始的示例。这样我就可以从中学习,也许在你们的帮助下自己做。

你们可以帮助一个菜鸟程序员并帮助我吗?

2 个答案:

答案 0 :(得分:0)

最好的办法是在MVC中使用Html助手,DropDownListDropDownListFor。你可以用IEnumerable`提供这些。

因此,在添加具有“全选”键的初始元素

之后,基本上会建立您的选择列表
@Html.DropDownListFor(m => m.SelectedId, m.SelectList)

其中SelectedId是模型上将包含Postback上所选选项的属性,SelectList是您的SelectListItems列表。

var model = new TestViewModel();
model.SelectList = new List<SelectListItem>();
model.SelectList.Add(new SelectListItem(){ Value = "0", Key = "Select All" });

<强>资源

ASP.NET Using the DropDownList helper

MSDN

答案 1 :(得分:0)

好吧,对于一个,DropDownListFor呈现单一选择,因此您无法使用该选项并且&#34;选择所有&#34;,因为它无法通过所有&#34;这些项目以单选方式返回。

可以使用ListBoxFor,这会生成多项选择。这至少会让你真正选择所有,首先。但是,没有HTML方法可以选择选择列表中的所有项目,因此MVC无法为您提供这样的控制,因为它是HTML的限制。您可以实现一些自定义JavaScript,可以在按钮单击或其他内容上激活,然后以编程方式选择选择列表中的所有项目。请参阅:Select all or Unselect all in listbox using jquery?