Состояние флажка в gridview всегда снято
У меня есть следующая HTML-страница с флажком "chkZiel" в gridview "dgZiel":
<%@ Page Title="" Language="C#" MasterPageFile="~/Site.Master" AutoEventWireup="true" CodeBehind="CC_SimpleTargetReport.aspx.cs" Inherits="CCMatrixDB_WEB.REPORT.CC_SimpleTargetReport" %> <%@ Register Assembly="Microsoft.ReportViewer.WebForms, Version=12.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91" Namespace="Microsoft.Reporting.WebForms" TagPrefix="rsweb" %> <asp:Content ID="Content1" ContentPlaceHolderID="MainContent" runat="server"> <script src="Scripts/jquery-1.10.2.min.js"></script> <script src="Scripts/JavaSript_scroll.js"></script> <asp:Table ID="Table1" runat="server" Width="100%"> <asp:TableRow ID="TableRow1" runat="server"> <asp:TableCell ID="TableCell1" runat="server" HorizontalAlign="Left"> <asp:TextBox ID="tbCOL1" runat="server" BorderWidth="0" BorderStyle="None" Text="TARGET" Width="100"></asp:TextBox> </asp:TableCell> <asp:TableCell ID="TableCell2" runat="server" HorizontalAlign="Left"> <asp:TextBox ID="tbCOL2" runat="server" BorderWidth="0" BorderStyle="None" Text="COMPONENT" Width="100"></asp:TextBox> </asp:TableCell> </asp:TableRow> <asp:TableRow ID="TableRow2" runat="server"> <asp:TableCell ID="TableCell3" runat="server" HorizontalAlign="Left"> <DIV style=" border-style: double; OVERFLOW: auto; WIDTH: 550px; HEIGHT: 168px"> <asp:GridView ID="dgZiel" runat="server" BackColor="White" CellPadding="4" GridLines="Horizontal" AutoGenerateColumns="false" ShowHeader="False"> <Columns> <asp:TemplateField ItemStyle-HorizontalAlign="Center" > <ItemTemplate> <asp:CheckBox ID="chkZiel" runat="server" Width="40px" /> </ItemTemplate> </asp:TemplateField> <asp:BoundField DataField="Name" ItemStyle-Width="100%" /> </Columns> </asp:GridView> </div> </asp:TableCell> </asp:TableRow> <asp:TableRow ID="TableRow3" runat="server"> <asp:TableCell ID="TableCell5" runat="server" HorizontalAlign="Left" ColumnSpan="2" VerticalAlign="Bottom" Height="45px"> <asp:Button ID="Button" runat="server" Text="GENERATE REPORT" Width="142px" onclick="Button_Click" /> </asp:TableCell> </asp:TableRow> </asp:Table> </asp:Content>
Следующий код проверяет состояние флажка для всех строк gridview:
protected void Button_Click(object sender, EventArgs e) { for (int i = 0; i < dgZiel.Rows.Count; i++) { CheckBox chkZiel = (CheckBox) dgZiel.Rows[i].FindControl("chkZiel"); if (chkZiel.Checked == true) { string name = dgZiel.Rows[i].Cells[1].Text; } } }
Но состояние всех флажков не отмечено (chkZiel.Checked - & gt; false) равно, если флажок установлен или нет.
Что случилось?
Что я уже пробовал:
Я пробовал разные коды c#, но состояние флажка всегда остается непроверенным.
Kornfeld Eliyahu Peter
Вы нажимаете кнопку, которая инициирует полный пост в задней части страницы...Все элементы управления инициализируются в исходное состояние (флажок снят)...
Идите и узнайте о частичном обратном посте-AJAX...
Karthik_Mahalingam
пост ваш код привязки