2010-09-02 81 views
0

在我的web应用程序中,当我选择一个下拉控件,这是给错误的。 不能在DropDownList中选择多个项目。这是我的代码...在下拉控件selectedindexchanged事件中获取错误?

try 
    {    
     ddlState.Items.Clear(); 
     ddlState.Enabled = true; 
     ListItem li1 = new ListItem(); 
     li1.Value = "0"; 
     li1.Text = "Select State"; 
     ddlState.Items.Add(li1); 
     clsStates.Countryid = int.Parse(ddlCountry.SelectedValue.ToString()); 
     DataSet ds = clsStates.selectStateBl(); 
     for (int i = 0; i < ds.Tables[0].Rows.Count; i++) 
     { 
      li1 = new ListItem(); 
      li1.Text = ds.Tables[0].Rows[i]["statename"].ToString(); 
      li1.Value = ds.Tables[0].Rows[i]["stateid"].ToString(); 
      ddlState.DataTextField = "statename"; 
      ddlState.DataValueField = "stateid"; 
      ddlState.Items.Add(li1); 
     } 
    } 
    catch 
    { 

    } 

这是有约束力的国家代码...

 try 
    { 

     ListItem li = new ListItem(); 

     DataSet ds = clsCountrys.selectCountryB(); 

     for (int i = 0; i < ds.Tables[0].Rows.Count; i++) 
     { 
      li = new ListItem(); 
      li.Text = ds.Tables[0].Rows[i]["countryname"].ToString(); 
      li.Value = ds.Tables[0].Rows[i]["countryid"].ToString(); 
      if (li.Value == Session["usercountry"].ToString()) 
       li.Selected = true; 
      ddlCountry.DataTextField = "countryname"; 
      ddlCountry.DataValueField = "countryid"; 
      ddlCountry.Items.Add(li); 
     } 
    } 
    catch 
    { 

    } 

,这是国家结合到下拉控制..

 try 
    { 
     ddlState.Items.Clear(); 
     ddlState.Enabled = true; 
     ddlState.ClearSelection(); 
     ListItem li1 = new ListItem(); 
     li1.Value = "0"; 
     li1.Text = "Select State"; 
     ddlState.Items.Add(li1); 
     clsStates.Countryid = int.Parse(ddlCountry.SelectedValue.ToString()); 
     DataSet ds = clsStates.selectStateBl(); 
     for (int i = 0; i < ds.Tables[0].Rows.Count; i++) 
     { 

      li1 = new ListItem(); 
      li1.Text = ds.Tables[0].Rows[i]["statename"].ToString(); 
      li1.Value = ds.Tables[0].Rows[i]["stateid"].ToString(); 
      if (Session["userstate"].ToString() == li1.Value) 
       li1.Selected = true; 
      ddlState.DataTextField = "statename"; 
      ddlState.DataValueField = "stateid"; 
      ddlState.Items.Add(li1); 
     } 
    } 
    catch 
    { 

    } 
+0

检查编辑答案会做工作,为您 – 2010-09-02 09:10:47

+0

检查的代码//代码由pranay林蛙 – 2010-09-02 09:11:26

+0

没有pranay我的地方更新此块代码,但它给出了相同的错误 – 2010-09-02 09:52:19

回答

1

利用ddlState.ClearSelection()方法来清除默认选择。

检查这个帖子:ASP.NET Tips: DropDownList.ClearSelection() to avoid "Cannot have multiple items selected in DropDownList"

编辑

try 
    { 
     ddlState.ClearSelection(); 
     ddlState.Items.Clear(); 
     ddlState.Enabled = true; 

     ListItem li1 = new ListItem(); 
     li1.Value = "0"; 
     li1.Text = "Select State"; 
     ddlState.Items.Add(li1); 
     clsStates.Countryid = int.Parse(ddlCountry.SelectedValue.ToString()); 
     DataSet ds = clsStates.selectStateBl(); 
     for (int i = 0; i < ds.Tables[0].Rows.Count; i++) 
     { 

      li1 = new ListItem(); 
      li1.Text = ds.Tables[0].Rows[i]["statename"].ToString(); 
      li1.Value = ds.Tables[0].Rows[i]["stateid"].ToString(); 

      ddlState.DataTextField = "statename"; 
      ddlState.DataValueField = "stateid"; 
      ddlState.Items.Add(li1); 

     } 

      //code updated by pranay rana 
      ddlState.ClearSelection(); 
       ListItem li = ddlState.Items.FindByValue(Session["userstate"].ToString()); 
       if (li != null) 
       { 
        li.Selected = true; 
       } 
      //code updated by pranay rana 
    } 
    catch 
    { 

    } 
+0

@pranay Rana我写的代码在事件,但它不起作用 – 2010-09-02 08:42:55

+0

@Surya sasidhar: - 只需在函数中写下你绑定值到dropdownlist,即绑定数据后 – 2010-09-02 08:49:37

+0

@prany Rana其实我有2个下拉按钮一个绑定countryies,当我在一个下拉列表中选择国家我绑定该国的国家我有两个下拉控件。 – 2010-09-02 08:57:48

相关问题