Asp gridview fail get复选框值 [英] Asp gridview fail get checkbox value
本文介绍了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屋!
查看全文