如何使用分页属性获取此DataList

本文关键字:DataList 获取 属性 何使用 分页 | 更新日期: 2023-09-27 18:27:41

我是一名新的ASP.NET开发人员,正在开发一个基于web的应用程序,其中我有一个DataList,并且我需要一个分页功能。我遵循了CodeProject中这篇文章中的解释,但它对我不起作用,我得到了这个错误,我无法理解

错误:

当前上下文中不存在名称"CurrentPage"。

那么如何修复此错误并在此DataList中获得分页功能呢

ASP.NET代码:

<tr>
            <td width="100%">
                <asp:DataList ID="DataList1" runat="server" DataSourceID="SqlDataSource2" >
                                <ItemTemplate>
                                    <asp:HyperLink
                                            ID="HyperLink1" runat="server" NavigateUrl='<%# "StartQuiz.aspx?testid=" + Eval("QuizID") %>'
                                            Text='<%# Eval("Title") %>'></asp:HyperLink><br />
                                    &nbsp;<asp:Label
                                        ID="DescriptionLabel" runat="server" CssClass="generaltext" Text='<%# Eval("Description") %>'></asp:Label>&nbsp;<br />
                                    <br />
                                </ItemTemplate>
                            </asp:DataList>
                <asp:SqlDataSource ID="SqlDataSource2" runat="server" ConnectionString="<%$ ConnectionStrings:testConnectionString %>"
                                SelectCommand="SELECT [Title], [Description], [QuizID],[IsSent] FROM [Quiz] where [IsSent]=1 order by [QuizID] DESC">
                </asp:SqlDataSource>
            </td>
        </tr>                                         
        <tr>
            <td>
                <asp:Label ID="lblCurrentPage" runat="server" Visible="true"></asp:Label>
            </td>
        </tr>
        <tr>
            <td align="center">
                <asp:Button ID="cmdPrev" runat="server" Text=" << " OnClick="cmdPrev_Click" />
                <asp:Button ID="cmdNext" runat="server" Text=" >> " OnClick="cmdNext_Click" />
            </td>
        </tr>

代码背后:

protected void items()
    {
        PagedDataSource objDs = new PagedDataSource();
        DataView dv = (DataView)SqlDataSource2.Select(DataSourceSelectArguments.Empty);
        objDs.DataSource = dv;
        objDs.AllowPaging = true;
        objDs.PageSize = 5;
        objDs.CurrentPageIndex = CurrentPage;
        lblCurrentPage.Text = "Page:" + (CurrentPage + 1).ToString() + " Of " + objDs.PageCount.ToString();
        cmdPrev.Enabled = !objDs.IsFirstPage;
        cmdNext.Enabled = !objDs.IsLastPage;
        DataList1.DataSource = objDs;
        DataList1.DataBind();
    }

    protected void cmdPrev_Click(object sender, EventArgs e)
    {
        try
        {
            CurrentPage -= 1;
            items();
        }
        catch (Exception ex)
        {
            Logger.LogException(ex);
        }
    }
    protected void cmdNext_Click(object sender, EventArgs e)
    {
        try
        {
            CurrentPage += 1;
            items();
        }
        catch (Exception ex)
        {
            Logger.LogException(ex);
        }
    }

如何使用分页属性获取此DataList

声明"CurrentPage变量在一切的顶端"我相信在您的情况下,它应该是int CurrentPage=1;