2017-07-27 18 views
0

名前のない入力チェックボックスがあり、私がチェックしただけの値をgridviewから取得したいのですが、どのように達成できますか?私は本当にそれを完了するために苦労している(BtnAdd_Click)。多分あなたは助けることができますか?以下は、.aspxのと.aspx.csコードです:asp.netの複数のチェックボックスから値を取得するには?

<asp:GridView ID="GvModules" 
     AutoGenerateColumns="False" 
     AllowSorting ="True" 
     OnSorting="GvModules_Sorting" 
     runat="server" 
     CssClass="table table-bordered table-striped table-condensed table-hover table-responsive" OnSelectedIndexChanged="GvModules_SelectedIndexChanged"> 
     <Columns> 
      <asp:BoundField DataField="moduleid" HeaderText="Module ID" /> 
      <asp:BoundField DataField="module_name" HeaderText="Module Name" /> 
      <asp:BoundField DataField="descriptions" HeaderText="Module Descriptions" /> 
      <asp:BoundField DataField="msa_DateTime" HeaderText="Start Date/Time" /> 
      <asp:TemplateField HeaderText="Check To Indicate"> 
       <ItemTemplate> 
        <asp:CheckBox ID="ChkAdd" 
         runat="server" 
         Text="" 
         CommandArgument='<%#Eval("moduleid") %>' 
         OnCommand="ChkAdd_Command" 
         OnClientClick='<%# "javascript:return confirm(\"Add [" + Eval("module_name") + "]\");" %>' /> 
       </ItemTemplate> 
      </asp:TemplateField> 
     </Columns> 
    </asp:GridView> 
</div> 
<div class="form-group"> 
    <div class="col-sm-offset-3 col-sm-9"> 
     <asp:Button ID="BtnAdd" CssClass="btn btn-default" Text="Indicate" OnClick="BtnAdd_Click" runat="server" /> 
    </div> 

</div> 
<div class="row"> 
    <hr /> 
    <asp:Literal ID="LtlSchool" runat="server" /> 
</div> 

これは、ボタンのクリックイベントである:

protected void BtnAdd_Click(object sender, EventArgs e) 
      { 

      } 

答えて

0

あなたが選択したチェックボックスの値を取得するためにGridViewに反復適用することができます。

protected void BtnAdd_Click(object sender, EventArgs e) 
      { 
foreach (GridViewRow r in GvModules.Rows) 
      { 
       //Find the checkbox in the current row 
       CheckBox chk = (CheckBox)r.FindControl("ChkAdd"); 


       if (chk!=null && chk.Checked) 
       { 
        //code when checkbox checked 
       } 
      } 
     } 
0

私はそれをしましたが、次のページに移動したときに値は表示されませんでした。

  if (chk!=null && chk.Checked) 
      { 
       Response.Redirect("AssociateIndication.aspx"); 
      } 
     } 
    } 
0

ボタンイベントでこれを試してみてください:

protected void BtnAdd_Click(object sender, EventArgs e) 
{ 
    foreach (GridViewRow gvr in GvModules.Rows) 
    { 
     CheckBox chk = (CheckBox)gvr.FindControl("ChkAdd"); 

     if (chk.Checked == true) 
     { 
      // do something here if checkbox is checked 

     } 
    } 
} 
+0

は、私はそれが値を表示するためには、私の「AssociateIndication.aspx」ページで何かをする必要がありますか?あなたが私に言ったことをしたのですが、まだ動作しません.... – Ain

+0

これはあなたが上記に尋ねた質問の正解です – AsifAli72090

+0

助けてくれてありがとう!私はそれが機能していない問題が何であるかを試してみるでしょう。 – Ain

関連する問題