2

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

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

不工作...

4

3 回答 3

8

你可以这样使用

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

或者

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

以编程方式
设置下拉列表选定项

编辑 1

更改代码的顺序

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

ddlCountryCode.SelectedIndex = 
         ddlCountryCode.Items.IndexOf(ddlCountryCode.Items.FindByText("India(+91)"));
于 2013-03-21T05:03:19.377 回答
4
DropDownList1.SelectedValue = "India";
于 2013-03-21T05:09:28.307 回答
0

在 DataBind() 之后选择索引。数据绑定将项目绑定在“ddlCountryCode.Items”中,因此您可以选择“印度”的索引,其中一项与 ddlCountryCode 存在。

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)"));
于 2013-03-21T05:02:49.943 回答