前台:
<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]里面的项却是原来没有更改时的数据。
请问如果这种写法存在问题的话,应该如何写,谢谢。
<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]里面的项却是原来没有更改时的数据。
请问如果这种写法存在问题的话,应该如何写,谢谢。
解决方案 »
- ASP.Net Table对齐方式的问题
- @register 的作用?
- |M| 请问有谁有过 [动软.Net代码自动生成器] 的CodematicDemo 有几个问题请问大家
- 怎样动态生成ASPX文件(当然包括.CS文件)?
- 菜鸟求助!各位大哥帮忙呀!
- 在数据库中操做大量数据时怎么解觉超时问题,timeout不能设太大
- 新手求助,GridView中的DropDownList的取值问题
- 我用的 XPATH 语句哪里不对啊???
- 【JS随机数】第一次随机产生的数字不在下次随机出现
- 趁着这两天休息,终于把帮助文件写好了
- 一个数据显示的问题,大家给些意见
- Convert.ToInt32和int.parse是否一样
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
//初始化代码写在此处
}
}