GridView 中 Checkbox取值问题,急,急,急
<asp:GridView ID="GvNewsInfo" runat="server" AutoGenerateColumns="False" DataKeyNames="JobID" EmptyDataText="当前没有任何招聘信息!" Width="100%" AllowPaging="True" EnableModelValidation="True"> <Columns> <asp:TemplateField HeaderText="选择"> <ItemTemplate> <asp:CheckBox ID="ChkItem" runat="server" /> </ItemTemplate> <ItemStyle HorizontalAlign="Center" VerticalAlign="Middle" Width="100px" /> </asp:TemplateField> <asp:BoundField DataField="JobID" HeaderText="招聘ID" InsertVisible="False" ReadOnly="True" SortExpression="JobID" /> </Columns> <HeaderStyle BackColor="#E9F3D6" ForeColor="#5C9948"></HeaderStyle> <PagerStyle BackColor="#E9F3D6"></PagerStyle> </asp:GridView>
这句也放到foreach外面来
[解决办法]
给个小例子。。
foreach (GridViewRow row in GridView1.Rows) { bool postback = ((CheckBox)row.FindControl("CheckBox1")).AutoPostBack; if (!postback) { ((CheckBox)row.FindControl("CheckBox1")).AutoPostBack = true; } }
[解决办法]
前台:
<input name="CheckBox" id="CheckBox" runat="server" type="checkbox" value='<%#Eval("UserID") %>' />
后台
public string Getid()
{
string streid = "";
for (int i = 0; i < this.GvNewsInfo.Rows.Count; i++) //根据Repeater 控件的情况执行循环判断目标复选框是否被选中
{
HtmlInputCheckBox CB = (HtmlInputCheckBox)this.Repeater1.Items[i].FindControl("CheckBox"); //获取一个目标复选框情况
if (CB.Checked == true) //判断该复选框是否被选中
{
streid = streid + CB.Value + ","; //程序处理代码
}
}
if (streid.Length > 0)
{
streid = streid.Remove(streid.Length - 1);
}
return streid;
}
得到你选中的ID 以,分开的 数组