如何在ASP.NET中将下拉列表项设置为选中?

tag5nh1u  于 12个月前  发布在  .NET
关注(0)|答案(6)|浏览(140)

我想以编程方式为asp.net dropdownlist控件设置selecteditem。
所以我想传递一个值给dropdownlist控件来设置所选的项目,其中是项目的值等于传递的值。

mwg9r5ms

mwg9r5ms1#

dropdownlist.ClearSelection(); //making sure the previous selection has been cleared
dropdownlist.Items.FindByValue(value).Selected = true;

字符串

mmvthczy

mmvthczy2#

您可以将SelectedValue设置为您想要选择的值。如果您已经选择了项目,那么您应该清除选择,否则您将得到“Cannot have multiple items selected in a DropDownList“错误。

dropdownlist.ClearSelection();
dropdownlist.SelectedValue = value;

字符串
也可以使用ListItemCollection.FindByTextListItemCollection.FindByValue

dropdownlist.ClearSelection();  
dropdownlist.Items.FindByValue(value).Selected = true;


使用FindByValue方法在集合中搜索具有Value属性的ListItem,该属性包含value参数指定的值。此方法执行区分大小写和区域性的比较。此方法不执行部分搜索或重复搜索。如果使用此条件在集合中未找到项,则返回null(MSDN)。
如果您预期您可能正在寻找不会出现在DropDownList ListItem集合中的文本/值,那么您必须在访问Selected属性之前检查是否从FindByTextFindByValue获取ListItem对象或null。如果您尝试访问Selected时返回null,那么您将获得NullReferenceException

ListItem listItem = dropdownlist.Items.FindByValue(value);

if(listItem != null) 
{
   dropdownlist.ClearSelection();
   listItem.Selected = true;
}

huus2vyu

huus2vyu3#

可以使用FindByValue方法在DropDownList中搜索Value与参数匹配的项。

dropdownlist.ClearSelection();
dropdownlist.Items.FindByValue(value).Selected = true;

字符串
或者,您可以使用FindByText方法在DropDownList中搜索文本与参数匹配的项。
在使用FindByValue方法之前,不要忘记重置DropDownList,以便使用ClearSelection()方法不选择任何项目。它会清除列表选择并将所有项目的Selected属性设置为false。否则,您将获得以下异常。

"Cannot have multiple items selected in a DropDownList"

wkftcu5l

wkftcu5l4#

这是一个非常好的和干净的例子:(检查这个伟大的教程的完整解释link

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 link中你可以阅读de DropDownList方法文档。
希望对你有帮助。

hmmo2u0o

hmmo2u0o5#

dropdownlist.ClearSelection(); 
dropdownlist.SelectedValue = value;

字符串
value将是默认值时,这将起作用,大多数人试图使用默认文本设置。

n53p2ov0

n53p2ov06#

设置属性

selected="true"

字符串

相关问题