<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" OnRowDeleting="GridView1_RowDeleting" DataKeyNames="id" Oncheckedchange =cbkchange">
<Columns>
<asp:TemplateField>
<ItemTemplate><asp:CheckBox ID="ckbHome" runat="server" Checked='<%# Eval("home_show")%>' >
</asp:CheckBox>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
问题是后台的方法 怎么得到所选择行的 id 值!谢谢大家。
<Columns>
<asp:TemplateField>
<ItemTemplate><asp:CheckBox ID="ckbHome" runat="server" Checked='<%# Eval("home_show")%>' >
</asp:CheckBox>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
问题是后台的方法 怎么得到所选择行的 id 值!谢谢大家。
<Columns>
<asp:TemplateField>
<ItemTemplate><asp:CheckBox ID="ckbHome" runat="server" Checked='<%# Eval("home_show")%>' Oncheckedchange ="cbkchange">
</asp:CheckBox>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
修改一下!
这个id是GridView中的数据行的id吗?
<Columns>
<asp:TemplateColumn HeaderText="<input id=cbAll type=checkbox onclick='javascript:changeCheckValue();'></input>">
<itemstyle wrap="False" horizontalalign="Center" cssclass="white"></itemstyle>
<itemtemplate>
<INPUT id="selectID" type="checkbox" value='<%#DataBinder.Eval(Container.DataItem, "id").ToString()%>'
title='<%#DataBinder.Eval(Container.DataItem, "id").ToString()%>'
size='<%#DataBinder.Eval(Container.DataItem, "CollectionID").ToString()%>'
runat="server" NAME="selectID">
</itemtemplate>
<headerstyle wrap="False" horizontalalign="Center" width="3%"></headerstyle>
</asp:TemplateColumn>
foreach (DataGridItem item in ListDataGrid.Items)
{
HtmlInputCheckBox chk = (HtmlInputCheckBox)item.FindControl("selectID"); if (chk != null && chk.Checked)
{
//Response.Write(chk.Value.ToString() + "," + chk.Attributes["size"].ToString());
SetIsRemovedStatus(trans, ddlCustomerID.SelectedValue, chk.Value.ToString().Trim(), chk.Attributes["size"].ToString().Trim());
}
}
给你一个我现在在用的。 我在里面是用的HTML控件,你也可以选择用ASP:CHECKBOX
然后 再判断CHECKBOX是否有选中,选中了你就可以去CHECKBOX一些属性的值,,比如你可以把你的ID放到CHECKBOX里面的VALUE里面,或者TOOLTIP里面
GOOD LUCK
我想弄明白的是 比如:
7行数据,每行都有一个 checkbox(有的被选,有的没被选) ,当单击任何一个 checkbox的时候,去触发后台的方法。
在后台的方法中,怎么得到 该行的绑定的id!
findControl 找的是7个checkbox 但是怎么能知道 我单击的是那个啊??
解决方法是 把id绑定到checkbox 的 tooltip 属性里!
CheckBox checkbox = (CheckBox)sender;
GridViewRow row = (GridViewRow)checkbox.NamingContainer;
Label labId = (Label)GridView1.Rows[row.RowIndex].FindControl("labId");