簡體   English   中英

如何使用分頁屬性獲取此DataList?

[英]How to get this DataList with the paging property?

我是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);
        }
    }

我認為在您的情況下聲明“ CurrentPage變量位於所有內容的頂部”,應為int CurrentPage = 1;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM