2017-07-27 108 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

相关问题