2012-03-09 6 views
1

私はすべてのチェックボックスをループし、その値を取得し、チェックされているかどうかをチェックし、レコードのIDを含むValueに基づいてチェックされた/チェックされていないデータをデータベースに保存しようとしています。私はasp.net任意の提案を通じてこれをしようとしていますか?ここでLoop Through GridViewチェックボックス

はコードです:

  <Columns> 
       <asp:TemplateField HeaderText="Application" ItemStyle-Width="25%"> 
        <ItemTemplate>       
         <%#Eval("App")%> 
        </ItemTemplate>      
       </asp:TemplateField> 
       <asp:TemplateField HeaderText="Edit" ItemStyle-Width="25%"> 
        <ItemTemplate> 
         <input name="chkEdit" runat="server" value='<%# Eval("AppID") %>' class="checkbox" type="checkbox" checked='<%# Eval("Edit") %>' /> 
        </ItemTemplate> 
       </asp:TemplateField> 
       <asp:TemplateField HeaderText="Delete" ItemStyle-Width="25%"> 
        <ItemTemplate>       
         <input name="chkDelete" runat="server" value='<%# Eval("AppID") %>' class="checkbox" type="checkbox" checked='<%# Eval("Delete") %>' /> 
        </ItemTemplate> 
       </asp:TemplateField> 
       <asp:TemplateField HeaderText="View" ItemStyle-Width="25%"> 
        <ItemTemplate>       
         <input name="chkView" runat="server" value='<%# Eval("AppID") %>' class="checkbox" type="checkbox" checked='<%# Eval("View") %>' /> 
        </ItemTemplate> 
       </asp:TemplateField> 
      </Columns> 
+0

...私は、チェックボックスのコントロールをループしてみましたが、それは動作しませんでした@DeviantSeevも、私はチェックボックスのすべてを取得することができず、むしろasp.netですべての作業を行うだろうJavascriptを使用してみました。私はasp.netでjavascript以外のすべての値とチェック/未チェックを取得する方法があるかどうかを確認したい。 –

+0

ユーザーが「保存」ボタンをクリックすると、すべてのチェックボックスを通過して現在の状態をテーブルに保存する必要があります。 –

答えて

2
string[] controls = new string[] {"chkEdit","chkDelete","chkView"}; 

foreach (GridViewRow r in YourGridView.Rows) 
{ 
    foreach(string cnt in controls){ 
    int value = Convert.ToInt32(((System.Web.UI.HtmlControls.HtmlInputCheckBox)r.FindControl(cnt)).Value); 
    bool isChecked = ((System.Web.UI.HtmlControls.HtmlInputCheckBox)r.FindControl(cnt)).Checked; 
    //now you have id and checked/unchecked. use your query to save it to database 
    } 
} 
+0

返事をありがとう、これは私が探していたものでした。ハードコード化以外のチェックボックスを動的に取得する方法はありますか? HtmlチェックボックスをループしてFindControlに割り当てる可能性はありますか? –

+0

お客様の要件に合わせて編集しました。 – Kaf

+0

ありがとうございました:) –

2

のonclickイベントでこのような何かを行います。

foreach(Gridviewrow gvr in Gridview1.Rows) 
{ 
    if(((CheckBox)gvr.findcontrol("CheckBox1")).Checked == true) 
    { 

     //do something 
    } 
} 
+0

お返事ありがとうございました。私はすでにこのような何かをドームしているが、チェックボックスの背後には、データベースIDの値がどのように私はコントロールを通過する:value = '<%#Eval( "AppID")%>' –

+0

また、ハードコーディングチェックボックスの名前ではなくコントロール –

+0

html入力タグの値は、このようなもので取得できます。 request.form( 'checkboxID')。私はなぜasp.netチェックボックスではなくhtmlタグを使用しているのか尋ねることができますか? – AJP

関連する問題