设置下拉列表选择的索引

时间:2013-03-21 04:58:17

标签: c# asp.net drop-down-menu

我有一个按字母顺序排列国家/地区的下拉列表。我希望下拉列表始终将(显示)India作为默认值。我不想将所选索引设置为常量,因为稍后可能会将其他国家/地区添加到列表中。如何将索引设置为“India”?

 ddlCountryCode.DataSource = ds1.Tables["AUser"];
 ddlCountryCode.DataTextField = "CountryCode";
 ddlCountryCode.SelectedIndex = 
             ddlCountryCode.Items.IndexOf(ddlCountryCode.Items.FindByText("India(+91)"));
 ddlCountryCode.DataBind();

不起作用......

3 个答案:

答案 0 :(得分:6)

你可以这样使用

 DropdownList1.SelectedIndex =    
                  DropdownList1.Items.IndexOf(DropdownList1.Items.FindByValue(strText));

DropdownList1.SelectedIndex =    
                  DropdownList1.Items.IndexOf(DropdownList1.Items.FindByText(strText));

参考文献
Setting dropdownlist selecteditem programmatically

编辑1

更改代码序列

ddlCountryCode.DataSource = ds1.Tables["AUser"];
ddlCountryCode.DataTextField = "CountryCode";
ddlCountryCode.DataBind();

ddlCountryCode.SelectedIndex = 
         ddlCountryCode.Items.IndexOf(ddlCountryCode.Items.FindByText("India(+91)"));

答案 1 :(得分:4)

DropDownList1.SelectedValue = "India";

答案 2 :(得分:0)

在DataBind()之后选择索引。数据绑定绑定'ddlCountryCode.Items'中的项目因此您可以使用ddlCountryCode选择'india'的一个项目存在的索引。

DropdownList1.Items is a list so u can use IndexOf()

 ddlCountryCode.DataSource = ds1.Tables["AUser"];
 ddlCountryCode.DataTextField = "CountryCode";
 ddlCountryCode.DataBind();
 ddlCountryCode.SelectedIndex = 
 ddlCountryCode.Items.IndexOf(ddlCountryCode.Items.FindByText("India(+91)"));