【问题标题】:Setting dropdownlist selected index设置下拉列表选择索引
【发布时间】:2013-03-21 04:58:16
【问题描述】:

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

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

没用……

【问题讨论】:

  • 重新标记:html.dropdownlistfor 在 MVC 中使用。请使用必要的标签

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


【解决方案1】:

你可以这样使用

 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)"));

【讨论】:

  • india 是在文本中的哪个位置或下拉列表的值?
  • 这是区分大小写的。
  • 数据绑定后使用这个 ddlCountryCode.SelectedIndex = ddlCountryCode.Items.IndexOf(ddlCountryCode.Items.FindByText("India(+91)"));
【解决方案2】:
DropDownList1.SelectedValue = "India";

【讨论】:

    【解决方案3】:

    在 DataBind() 之后选择索引。 Data Bind 绑定 '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)"));
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-11-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多