Asp gridview fail get复选框值 [英] Asp gridview fail get checkbox value

查看:50
本文介绍了Asp gridview fail get复选框值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

<asp:GridView ID="GrdRole" runat="server" CssClass="table table-striped table-bordered table-hover" EmptyDataText="No Records Found" DataKeyNames="RoleID"
             AllowPaging="true" AutoGenerateColumns="false" AutoGenerateDeleteButton="false" RowStyle-HorizontalAlign="Left" OnPageIndexChanging="GrdRole_PageIndexChanging"
             HeaderStyle-HorizontalAlign="Center" GridLines="None" PageSize="10" RowStyle-CssClass="gradeX" AlternatingRowStyle-CssClass="gradeA">
             <Columns>
                 <asp:TemplateField HeaderText="Select" ItemStyle-Width="10px">
                     <ItemTemplate>
                         <input type="checkbox" runat="server" id="emp" value='<%#Eval("EmployeeNo")%>' />
                     </ItemTemplate>
                 </asp:TemplateField>
                 <asp:TemplateField HeaderText="User Name" ItemStyle-Width="90%">
                     <ItemTemplate>
                         <label><%#DataBinder.Eval(Container.DataItem, "Name")%></label>
                     </ItemTemplate>
                 </asp:TemplateField>
             </Columns>
             <PagerStyle HorizontalAlign="Right" CssClass="pagination-ys" />
         </asp:GridView>







protected void click(object sender, EventArgs e)
{
    string data = "";
    foreach (GridViewRow row in GrdRole.Rows)
    {
        if (row.RowType == DataControlRowType.DataRow)
        {
            CheckBox chkRow = (row.Cells[0].FindControl("emp") as CheckBox);
            if (chkRow.Checked)
            {
                string storid = row.Cells[1].Text;
                data = data + storid + "<br>";
            }
        }
    }
    lblmsg.Text = data;
}



为什么lblmsg.text为空?我勾选了复选框



我尝试了什么:



知道为什么它无法获得我的复选框值?请帮助,谢谢。


why lblmsg.text is empty?i did tick the checkbox

What I have tried:

any idea why it cant get my checkbox value?please help,thank you.

推荐答案

试试这个







try this



protected void Button1_Click(object sender, EventArgs e)
      {
          string data = "";
          foreach (GridViewRow row in GrdRole.Rows)
          {
              if (row.RowType == DataControlRowType.DataRow)
              {

                 CheckBox chkRow = (row.FindControl("emp") as CheckBox);
                  if (chkRow.Checked)
                  {
                      string storid = (row.FindControl("lbl") as Label).Text;
                      data = data + storid + "<br>";
                  }
              }
          }
          lblmsg.Text = data;
      }







<columns>
                <asp:templatefield headertext="Select" itemstyle-width="10px"  >
                    <itemtemplate>
                        <asp:checkbox id="emp" runat="server" text="<%#Eval("EmployeeNo")%>" />
                    </itemtemplate>
                </asp:templatefield>
                <asp:templatefield headertext="User Name" itemstyle-width="90%"  >
                    <itemtemplate>
                        <asp:label id="lbl" runat="server" text="<%#Eval("Name")%>"></asp:label>
                    </itemtemplate>
                </asp:templatefield>
            </columns>


  <asp:gridview id="GrdRole" runat="server" cssclass="table table-striped table-bordered table-hover" emptydatatext="No Records Found" datakeynames="RoleID" xmlns:asp="#unknown">
                AllowPaging="true" AutoGenerateColumns="false" AutoGenerateDeleteButton="false" RowStyle-HorizontalAlign="Left" OnPageIndexChanging="GrdRole_PageIndexChanging"
                HeaderStyle-HorizontalAlign="Center" GridLines="None" PageSize="10" RowStyle-CssClass="gradeX" AlternatingRowStyle-CssClass="gradeA">
                <columns>
                    <asp:templatefield headertext="Select" itemstyle-width="10px">
                        <itemtemplate>
                            <input type="checkbox" runat="server" id="emp" value='<%#Eval("EmployeeNo")%>' />
                        </itemtemplate>
                    </asp:templatefield>
                    <asp:templatefield headertext="User Name" itemstyle-width="90%">
                        <itemtemplate>
                            <label><%#DataBinder.Eval(Container.DataItem, "Name")%></label>
                        </itemtemplate>
                    </asp:templatefield>
                </columns>
                <pagerstyle horizontalalign="Right" cssclass="pagination-ys" />
            </asp:gridview>
<td>
            <asp:button id="submit_button" text="Update" cssclass="btn btn-success" runat="server" onclick="UpdateBtm" xmlns:asp="#unknown" />
        </td>





我的c#



my c#

protected void UpdateBtm(object sender, EventArgs e)
   {
       foreach (GridViewRow row in GrdRole.Rows)
       {
           if (row.RowType == DataControlRowType.DataRow)
           {
               CheckBox chkRow = (row.Cells[0].FindControl("emp") as CheckBox);
               if (chkRow.Checked)
               {
                   string storid = row.Cells[0].Text;
                   ClientScript.RegisterStartupScript(GetType(), "alert", "alert('" + storid + "');", true);
               }
           }
       }

   }


这篇关于Asp gridview fail get复选框值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆