前台:
<asp:GridView ID="GridView1" runat="server" CellPadding="4" ForeColor="#333333" 
            GridLines="None" AutoGenerateColumns="False" CssClass="gridview" 
            Height="167px" Width="605px" AllowPaging="True" 
            onpageindexchanging="GridView1_PageIndexChanging" >
            <FooterStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />
            <RowStyle BackColor="#EFF3FB" />
            <Columns>
                <asp:TemplateField HeaderText="班级序号">
                    <ItemTemplate>
                        <asp:Label ID="Label1" runat="server" Text='<%# Eval("classid") %>'></asp:Label>
                    </ItemTemplate>
                </asp:TemplateField>
                <asp:TemplateField HeaderText="班级名">
                    <ItemTemplate>
                        <asp:Label ID="Label2" runat="server" Text='<%# Eval("classname") %>'></asp:Label>
                    </ItemTemplate>
                </asp:TemplateField>
                <asp:TemplateField HeaderText="添加">
                    <ItemTemplate>
                        <asp:CheckBox ID="ChangeClass" runat="server" Checked='<%# Convert.ToBoolean(Eval("IsChecked")) %>' Text="是否添加" AutoPostBack="false" />
                    </ItemTemplate>
                </asp:TemplateField>
            </Columns>
            <PagerStyle BackColor="#2461BF" ForeColor="White" HorizontalAlign="Center" />
            <SelectedRowStyle BackColor="#D1DDF1" Font-Bold="True" ForeColor="#333333" />
            <HeaderStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />
            <EditRowStyle BackColor="#2461BF" />
            <AlternatingRowStyle BackColor="White" />
        </asp:GridView>
    </div>
    <div>
        <asp:Button ID="ClassCleckedChange" runat="server" Text="更改" 
            onclick="ClassCleckedChange_Click" />
            </div>
后台: protected void ClassCleckedChange_Click(object sender, EventArgs e)
        {
            int count = GridView1.Rows.Count;
            bool[] Check = new bool[count];
            string[] ClassId = new string[count];
            for (int i = 0; i < count; i++)
            {
                CheckBox CB = (CheckBox)(GridView1.Rows[i].Cells[2].FindControl("ChangeClass"));
                Check[i] = CB.Checked;
                ClassId[i] = ((Label)(GridView1.Rows[i].Cells[0].FindControl("Label1"))).Text;
            }
            //BTM.ChangeTeacherCourse(Courseid, Check, ds, Convert.ToInt32(Session["UserName"].ToString()));
        }
当前面的CheckBox 的勾选改变后,点击更改,但是后面的Check[i]里面的项却是原来没有更改时的数据。
请问如果这种写法存在问题的话,应该如何写,谢谢。