我无法通过选中复选框来获取Grid中的行值。选中的复选框始终在后面的代码中变为假。请帮我解决这个问题。提前致谢
这是我的aspx代码:
<asp:GridView ID="resumeSearchGrid" DataKeyNames="CandidateID" CellPadding="5" runat="server" Width="100%" AutoGenerateColumns="false">
<Columns>
<asp:TemplateField>
<ItemTemplate>
<asp:CheckBox ID="chkSelect" runat="server"/>
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField DataField="CandidateID" HeaderText="CandidateID" Visible="false" />
<asp:BoundField DataField="CandidateName" HeaderText="Name" />
<asp:BoundField DataField="EmailID" HeaderText=" Email Id" />
</Columns>
</asp:GridView>
<asp:Button ID="Button1" class="button" runat="server"
Text="Send to client" onclick="Button1_Click"></asp:Button>
这是我的代码背后:
protected void Button1_Click(object sender, EventArgs e)
{
foreach (GridViewRow gvrow in resumeSearchGrid.Rows)
{
CheckBox chk = (CheckBox)gvrow.FindControl("chkSelect");
if (chk != null && chk.Checked)
{
Name += resumeSearchGrid.DataKeys[gvrow.RowIndex].Value.ToString() + ',';
eMail += gvrow.Cells[2].Text + ',';
}
}
}
你写chkSelectlist
,而不是chkSelect
在FindControl
CheckBox chk = (CheckBox)gvrow.FindControl("chkSelectlist");
如果条件只写
if (chk.Checked)
{
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句