У меня есть DataList на моей странице для показа записей, поступающих из базы данных. Я последовал за this учебником для реализации разбиения на страницы с помощью DataList.Pagination in DataList не работает
Это показывает 5 записей на первой странице, но на следующей странице Datalist загружается пустым. Я вижу значение текущих изменений страницы при нажатии на кнопки Next и Previous.
Ниже мой код ASPX страницы:
<asp:DataList ID="DataList1" runat="server">
<HeaderTemplate>
<table class="TicketTableInner">
<tr>
<td class="ticketlistheaderrow" align="left" valign="middle" width="8%">Ticket ID</td>
<td class="ticketlistheaderrow" align="left" valign="middle" width="21%">Category</td>
<td class="ticketlistheaderrow" align="left" valign="middle" width="41%">Problem</td>
<td class="ticketlistheaderrow" align="left" valign="middle" width="15%">Create Date</td>
<td class="ticketlistheaderrow" align="left" valign="middle" width="15%">Reply Date</td>
</tr>
</HeaderTemplate>
<ItemTemplate>
<tr class="TicketRow<%#Eval("IsReadString")%>" onclick="UpdateTicketID('<%#Eval("TicketIDD")%>')">
<td class="ticketlistRowItem<%#Eval("IsReadString")%>"><%#Eval("TicketIDFROMDB")%></td>
<td class="ticketlistRowItem<%#Eval("IsReadString")%>"><%#TrimLenght(Eval("Category"), 30)%></td>
<td class="ticketlistRowItem<%#Eval("IsReadString")%>"><%#TrimLenght(Eval("Problem"), 70)%></td>
<td class="ticketlistRowItem<%#Eval("IsReadString")%>"><%#Eval("CreatedDate")%></td>
<td class="ticketlistRowItem<%#Eval("IsReadString")%>"><%# ProcessMyDataItemForNA(Eval("RepliedDate"))%></td>
</tr>
</ItemTemplate>
<FooterTemplate>
</table>
</FooterTemplate>
</asp:DataList>
<table class="style1">
<tr>
<td class="style2">
<asp:LinkButton ID="LinkButton2" runat="server"
OnClick="LinkButton2_Click">Next</asp:LinkButton>
</td>
<td>
<asp:LinkButton ID="LinkButton3" runat="server"
OnClick="LinkButton3_Click">Previous</asp:LinkButton>
</td>
</tr>
</table>
И Ниже код из кода позади:
Imports System.Data
Imports System.Configuration
Imports System.Data.SqlClient
Partial Class supportTickets_myTickets
Inherits System.Web.UI.Page
Public TicketStatus As String = ""
Public TicketID As String = ""
Dim pg As Integer = 0
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
If Not IsPostBack Then
CurrentPageIndex = 0
showData()
Else
End If
End Sub
Private Function GetDataTable() As DataTable
'//This function returns record from database in the form of dataTable
End Function
Private Sub showData()
Dim pgd As New PagedDataSource()
Dim ds As DataSet = GetDataSet()
pgd.DataSource = ds.Tables(0).DefaultView
pgd.AllowPaging = True
pgd.PageSize = 5
pgd.CurrentPageIndex = CurrentPageIndex
LinkButton2.Enabled = Not (pgd.IsLastPage)
LinkButton3.Enabled = Not (pgd.IsFirstPage)
DataList1.DataSource = pgd
DataList1.DataBind()
End Sub
Public Property CurrentPageIndex() As Integer
Get
If ViewState("pg") Is Nothing Then
Return 0
Else
Return Convert.ToInt16(ViewState("pg"))
End If
End Get
Set(value As Integer)
ViewState("pg") = value
End Set
End Property
Protected Sub LinkButton2_Click(sender As Object, e As EventArgs)
CurrentPageIndex += 1
showData()
End Sub
Protected Sub LinkButton3_Click(sender As Object, e As EventArgs)
CurrentPageIndex -= 1
showData()
End Sub
End Class
Да, у него есть 18 строк – Anjum