2017-02-24 7 views
-1
public void InsertHobbies() 
{ 
     //foreach(object obj in chkEmpHobbyList.Controls) 
     //{ 
     // CheckBox chkbox = (CheckBox)obj; 
     // if(chkbox.Checked) 
     // { 
     //  hobby objhobby = new hobby(); 

     //  objhobby.insertHobby((Convert.ToInt32(chkbox.ID)),empid); 
     // } 
     //} 

     foreach (ListItem listItem in chkEmpHobbyList.Items) 
     { 
      if (listItem.Selected) 
      { 
       hobby objhobby = new hobby(); 
       objhobby.insertHobby((Convert.ToInt32(/what to give/)), empid); 
      } 

     } 
} 

/***のaspxコード****/私はasp.net制御CheckBoxListのをループにしたいと私はデータベース

<asp:CheckBoxList ID="chkEmpHobbyList" runat="server"> 
     </asp:CheckBoxList> 

/*にIDを保存することができるようにチェックされた項目の値を取得*データベースとバインド・リスト**/

public List<hobby> GetHobbies() 
    { 
     DBlist obj = new DBlist(); 
     DataSet ds = obj.getdata("str_gethobby", null); 
     List<hobby> hobbies = new List<hobby>(); 
     foreach (DataRow orow in ds.Tables[0].Rows) 
     { 
      hobby dlist = new hobby(); 
      dlist.HobbyName = orow["hobby_name"].ToString(); 
      dlist.Hobbyvalue = int.Parse(orow["id"].ToString()); 
      hobbies.Add(dlist); 
     } 
     return hobbies; 
    } 

/****/

hobby dlist = new hobby(); 
    List<hobby> hobbies = dlist.GetHobbies(); 
    chkEmpHobbyList.DataSource = hobbies; 
    chkEmpHobbyList.DataTextField = "HobbyName"; 
    chkEmpHobbyList.DataValueField = "Hobbyvalue"; 
    chkEmpHobbyList.DataBind(); 

私はasp.netコントロールのチェックボックスリストをループし、データベースにIDを格納できるようにチェック項目の値を取得します。どのようにチェックされたチェックボックスのIDを取得するのですか?

+0

何が問題ですか? –

+0

チェックボックスIDが選択されていません – user19041992

+0

チェックされていない「選択済み」を使用する理由 –

答えて

0

あなたのCheckBoxListのを反復処理すると、このような値/テキストを取得することができます:

 for (int i = 0; i < chkEmpHobbyList.Items.Count; i++) 
     { 
      if (chkEmpHobbyList.Items[i].Selected) 
      { 
       string value=chkEmpHobbyList.Items[i].Value;//it will return Value, You can also get .Text 
      } 
     } 

はそれが役に立てば幸い!

関連する問題