2016-04-19 27 views
1

私は、リストビューにデータベースに基づいてチェックボックスを動的に設定するページを持っています。チェックボックスのテキストは、データベース内のすべてのユーザーのユーザー名と同じです。選択したチェックボックスのユーザー名が削除されるコントロールを作成しようとしています。これを行うために、私は、ValidationGroup内の各選択されたチェックボックスに対して実行されるforeachループの使用を計画します。ValidationGroupから選択したチェックボックスの値を取得する

まず、ASP .NETコードを示します。ここでは、ページをフォーマットする私のアプローチを示しています。

 <asp:ListView ID="lvUsers" runat="server"> 
      <ItemTemplate> 
        <asp:CheckBox ID="chkUser" runat="server" Text='<%# Eval("UserName") %>' ValidationGroup="userCheck" /><br /> 
      </ItemTemplate> 
     </asp:ListView> 

ここでは、それが唯一の選択した各チェックボックスのためにforeachループを実行しなければならないとき、現在、各ListView項目のためのforeachループを実行しようとしている私の現在の(壊れた)コード、です。

foreach (ListViewItem item in lvUsers.Items) //Trying to replace this with "for each selected checkbox within the userCheck ValidationGroup". 
    { 

     int UserID = 0; 

     String sqlStatement = "SELECT UserID FROM Users WHERE UserName = " + item; //This should be selecting where the UserName = the text value of each selected checkbox. 
     SqlConnection conn = new SqlConnection(WebConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString); 
     SqlCommand comm = new SqlCommand(sqlStatement, conn); 
     conn.Open(); 

     SqlDataReader Reader = comm.ExecuteReader(); 

     while (Reader.Read()) 
     { 
      UserID = (int)Reader["UserID"]; 
     } 

     Reader.Close(); 
     conn.Close(); 

     //Down here I delete all the connected values from various tables based on the value obtained from UserID above. 

     } 

これについての助力は非常に感謝しています。

答えて

2

Better way to find control in ASP.NETにジミーによって与えられた素敵なControlFinderクラスを使用して、リストビューに再帰的にチェックボックスを取得し、そのValidationGroupをテストすることができます。

ControlFinder<CheckBox> finder = new ControlFinder<CheckBox>(); 
finder.FindChildControlsRecursive(lvUsers); 

foreach (CheckBox chkBox in finder.FoundControls) 
{ 
    if (chkBox.Checked && chkBox.ValidationGroup == "userCheck") 
    { 
     // Do something 
    } 
} 
+1

はそれが完璧に働いた華麗な実装でした、ありがとうございます!これは、チェックボックスからテキスト値を取得していた私の他の問題を解決するのにも役立つように思えます。どうもありがとうございます! – user3530169

関連する問題