怎么肯能呢?肯定有什么地方不对
把你的DataGrid的源码贴出来还有翻页的源码

解决方案 »

  1.   

    是这样的,我把DataBind()写在if(!IsPostBack)里头,翻页的时候DataGrid控件消失了,并没有错误提示,不知道怎么回事。
    代码:
    private void Page_Load(object sender, System.EventArgs e)
    {
    // 在此处放置用户代码以初始化页面
    if(!IsPostBack)
    {
    ……
    DataGrid1.DataBind();
    }}public void Page_Index(object sender,DataGridPageChangedEventArgs e)
    {
    DataGrid1.CurrentPageIndex=e.NewPageIndex;
    DataGrid1.DataBind();
    }...
    <asp:datagrid id="DataGrid1" runat="server" Width="512px" HorizontalAlign="Center" PagerStyle-Mode ="NumericPages" OnPageIndexChanged="Page_Index" AutoGenerateColumns="False" PageSize="3" AllowPaging="True">
    <Columns>
    <asp:TemplateColumn HeaderText="选定课程">
    <ItemTemplate>
    <asp:CheckBox id="Checkbox1" runat="server" OnCheckedChanged="chk_CheckedChanged" Text="选择" AutoPostBack="True"></asp:CheckBox>
    </ItemTemplate>
    </asp:TemplateColumn>
    ...
      

  2.   

    假如把DataBind()写在if(!IsPostBack)里头,翻页功能正常,但是那样的话我无法记录checkbox被选中的状态……请大家指点。
      

  3.   

    上面打错了,应该是写在if(!IsPostBack)外头,能正常翻页。