[英]find item in dropdownlist and set it to selected in .asp.net MVC 4
[英]How to set a dropdownlist item as selected in ASP.NET?
我想為asp設置selecteditem。 凈下拉列表以編程方式進行控制。
所以我想將一個值傳遞給dropdownlist控件以設置所選項目,其中該項目的值等於所傳遞的值。
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屬性(包含value參數指定的值)的ListItem。 此方法執行區分大小寫和不區分文化的比較。 此方法不執行部分搜索或通配符搜索。 如果使用此條件在集合中找不到項目,則返回NSDN 。
如果期望您正在尋找DropDownList
ListItem集合中不存在的文本/值,則在訪問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"
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.