GridViewRow
. का उपयोग करें अनुसरण के रूप में... आप चेकबॉक्स की वर्तमान पंक्ति प्राप्त कर सकते हैं जिसे NamingContainer
. का उपयोग करके चेक किया गया है संपत्ति इस प्रकार है...
संपादित करें :- मार्कअप बदलें और हिडनफील्ड को फॉलो के रूप में चयनित के लिए वैल्यू होल्ड करने के लिए जोड़ें...
<asp:TemplateField HeaderText="ใช่">
<ItemTemplate>
<asp:CheckBox ID="chkSelected" runat="server" Checked='<%# Eval("Selected").ToString().Equals("True") %>'
AutoPostBack="true" OnCheckedChanged="chkSelected_CheckedChanged" CssClass="chkBox" />
<asp:HiddenField ID="hiddenField1" Value='<%# Eval("Selected").ToString() %>' runat="server" />
</ItemTemplate>
</asp:TemplateField>
फिर आप हिडनफील्ड को अनुसरण के रूप में प्राप्त कर सकते हैं और इसका मूल्य भी
protected void chkSelected_CheckedChanged(object sender, EventArgs e)
{
GridViewRow row = (GridViewRow)(((CheckBox)sender).NamingContainer);
HiddenField hdnCheck=(HiddenField)row.Cells[4].FindControl("hiddenField1");
if (Convert.ToString(hdnCheck.Value != "")
{
Response.Write("true");
}
else
{
Response.Write("false");
}
// Edit: You can easily get Checkbox which has been checked, and do your logic
CheckBox chkSelect=(CheckBox)sender;
if (chkSelect.Checked)
{
Response.Write("true");
}
else
{
Response.Write("false");
}
}