我有一个按字母顺序排列国家/地区的下拉列表。我希望下拉列表始终将(显示)India作为默认值。我不想将所选索引设置为常量,因为稍后可能会将其他国家/地区添加到列表中。如何将索引设置为“India”?
ddlCountryCode.DataSource = ds1.Tables["AUser"];
ddlCountryCode.DataTextField = "CountryCode";
ddlCountryCode.SelectedIndex =
ddlCountryCode.Items.IndexOf(ddlCountryCode.Items.FindByText("India(+91)"));
ddlCountryCode.DataBind();
不起作用......
答案 0 :(得分:6)
你可以这样使用
DropdownList1.SelectedIndex =
DropdownList1.Items.IndexOf(DropdownList1.Items.FindByValue(strText));
或
DropdownList1.SelectedIndex =
DropdownList1.Items.IndexOf(DropdownList1.Items.FindByText(strText));
参考文献
Setting dropdownlist selecteditem programmatically
更改代码序列
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)"));