从SelectList获取MultiSelectList的SelectListItems
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了从SelectList获取MultiSelectList的SelectListItems相关的知识,希望对你有一定的参考价值。
我创建了一个SelectList并将其初始化如下:
SelectList _selectList = new SelectList(new List<SelectListItem>
{
new SelectListItem{Text = "aa", Value="bb"},
new SelectListItem{Text = "cc", Value = "dd"},
new SelectListItem{Text = "gg", Value = "ff"}
});
(这是一个示例。通常,我添加15或20个SelectListItems)
然后我尝试获取此_selectList
实例的文本和值以设置实例:
foreach (var item in _selectList)
{
var a = item.Text;
var b = item.Value;
}
在这一点上,item.Text
返回System.Web.Mvc.SelectListItem
和item.Value
返回null
。
如果我在调试期间用光标检查qazxsw poi,所有qazxsw poi及其在_selectList
下的值并且我无法得到这些值。问题是“我怎么能?”。
如果你想使用SelectList,你可以像这样使用它:
SelectListItems
它只是帮助构建项目列表。你绝对可以直接在helper中使用IEnumerable:
base{System.Web.Mvc.MultiSelectList}
编辑:更新的代码。实际上,在查看SelectList源之后,您将看到它派生自MultiSelectList - > var model = new IndexModel()
{
lista = new SelectList(new string[] { "BMW","Volvo" }),
listb = new SelectListItem[]
{
new SelectListItem {Text = "aa", Value = "bb"},
new SelectListItem {Text = "cc", Value = "dd"},
new SelectListItem {Text = "gg", Value = "ff"}
},
listc = new SelectList(new SelectListItem[]
{
new SelectListItem {Text = "aa", Value = "bb"},
new SelectListItem {Text = "cc", Value = "dd"},
new SelectListItem {Text = "gg", Value = "ff"}
}, "Value", "Text")
};
,并使用DataBinder根据给定字段评估文本和值。因此,如果您明确指定字段名称(就像listc一样),您可以使用SelectListItems列表。
MZ
以上是关于从SelectList获取MultiSelectList的SelectListItems的主要内容,如果未能解决你的问题,请参考以下文章