如何将下拉列表项设置为 ASP.NET 中选择的下拉列表项
本文关键字:下拉列表 NET ASP 选择 设置 | 更新日期: 2023-09-27 18:36:49
我想以编程方式为 asp 设置选定项。 网络下拉列表控件。
所以我想将一个值传递给下拉列表控件以设置所选项目,其中项目的值等于传递的值。
dropdownlist.ClearSelection(); //making sure the previous selection has been cleared
dropdownlist.Items.FindByValue(value).Selected = true;
您可以将SelectedValue
设置为要选择的值。如果您已经选择了项目,则应清除该选择,否则会出现"无法在DropDownList中选择多个项目"错误。
dropdownlist.ClearSelection();
dropdownlist.SelectedValue = value;
您还可以使用 ListItemCollection.FindByText 或 ListItemCollection.FindByValue
dropdownlist.ClearSelection();
dropdownlist.Items.FindByValue(value).Selected = true;
使用 FindByValue 方法在集合中搜索列表项 使用包含由值指定的值的 Value 属性 参数。此方法执行区分大小写和 对文化不敏感的比较。此方法不做部分 搜索或通配符搜索。如果在 使用此条件的集合,返回 null,MSDN。
如果您预计可能要查找 ListItem 集合中不存在的文本/值DropDownList
则必须在访问 Selected 属性之前检查是否从FindByText
或FindByValue
获取ListItem
对象或null
。如果在返回 null 时尝试访问 Selected,则会出现 NullReferenceException。
ListItem listItem = dropdownlist.Items.FindByValue(value);
if(listItem != null)
{
dropdownlist.ClearSelection();
listItem.Selected = true;
}
可以使用 FindByValue 方法在 DropDownList 中搜索具有与参数匹配的值的项。
dropdownlist.ClearSelection();
dropdownlist.Items.FindByValue(value).Selected = true;
或者,可以使用 FindByText 方法在 DropDownList 中搜索文本与参数匹配的项。
在使用 FindByValue 方法之前,请不要忘记重置 DropDownList,以便使用 ClearSelection() 方法选择任何项。它将清除列表选择,并将所有项的 Selected 属性设置为 false。否则,您将获得以下异常。
"Cannot have multiple items selected in a DropDownList"
非常好和干净的例子:(查看这个很棒的教程以获取完整的解释链接)
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()
});
}
在此 MSDN 链接中,您可以阅读 de DropDownList
方法文档。
希望对您有所帮助。
设置下拉列表属性
selected="true"