public static IEnumerable<SelectListItem> ToSelectListItems(
this IEnumerable<Album> albums, int selectedId)
{
return
albums.OrderBy(album => album.Name)
.Select(album =>
new SelectListItem
{
Selected = (album.ID == selectedId),
Text = album.Name,
Value = album.ID.ToString()
});
}
6条答案
按热度按时间mwg9r5ms1#
字符串
mmvthczy2#
您可以将
SelectedValue
设置为您想要选择的值。如果您已经选择了项目,那么您应该清除选择,否则您将得到“Cannot have multiple items selected in a DropDownList“错误。字符串
也可以使用ListItemCollection.FindByText或ListItemCollection.FindByValue
型
使用FindByValue方法在集合中搜索具有Value属性的ListItem,该属性包含value参数指定的值。此方法执行区分大小写和区域性的比较。此方法不执行部分搜索或重复搜索。如果使用此条件在集合中未找到项,则返回null(MSDN)。
如果您预期您可能正在寻找不会出现在
DropDownList
ListItem集合中的文本/值,那么您必须在访问Selected属性之前检查是否从FindByText
或FindByValue
获取ListItem
对象或null
。如果您尝试访问Selected时返回null,那么您将获得NullReferenceException。型
huus2vyu3#
可以使用FindByValue方法在DropDownList中搜索Value与参数匹配的项。
字符串
或者,您可以使用FindByText方法在DropDownList中搜索文本与参数匹配的项。
在使用FindByValue方法之前,不要忘记重置DropDownList,以便使用ClearSelection()方法不选择任何项目。它会清除列表选择并将所有项目的Selected属性设置为false。否则,您将获得以下异常。
型
wkftcu5l4#
这是一个非常好的和干净的例子:(检查这个伟大的教程的完整解释link)
字符串
在这个MSDN link中你可以阅读de
DropDownList
方法文档。希望对你有帮助。
hmmo2u0o5#
字符串
当value将是默认值时,这将起作用,大多数人试图使用默认文本设置。
n53p2ov06#
设置属性
字符串