- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我的页面上有 DataList,用于显示来自数据库的记录。我已关注this使用 DataList 实现分页的教程。
它在第一页上显示 5 条记录,但在下一页上,数据列表加载为空。我可以通过单击“下一步”和“上一步”按钮看到当前页面更改的值。
以下是我的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
最佳答案
通过分页数据源绑定(bind)DataList
public int PageNumber
{
get
{
if (ViewState["PageNumber"] != null)
return Convert.ToInt32(ViewState["PageNumber"]);
else
return 0;
}
set
{
ViewState["PageNumber"] = value;
}
}
private void BindListing()
{
DataTable dt = Method which return datatable;
if (dt.Rows.Count <= 0)
{
lnknext.Visible = false;
lnkPrevious.Visible = false;
ScriptManager.RegisterStartupScript(this, this.GetType(), "Error", "alert('No records found!!!.');", true);
return;
}
PagedDataSource pgitems = new PagedDataSource();
DataView dv = new DataView(dt);
pgitems.DataSource = dv;
pgitems.AllowPaging = true;
pgitems.PageSize = 10;
pgitems.CurrentPageIndex = PageNumber;
DataList1.DataSource = pgitems;
DataList1.DataBind();
}
protected void lnkPrevious_Click(object sender, EventArgs e)
{
PageNumber -= 1;
BindListing();
}
protected void lnknext_Click(object sender, EventArgs e)
{
PageNumber += 1;
BindListing();
}
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
BindListing();
}
}
我希望上面的例子能对你有所帮助..
关于asp.net - DataList 中的分页不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32367125/
今天有小伙伴给我留言问到,try{...}catch(){...}是什么意思?它用来干什么? 简单的说 他们是用来捕获异常的 下面我们通过一个例子来详细讲解下
我正在努力提高网站的可访问性,但我不知道如何在页脚中标记社交媒体链接列表。这些链接指向我在 facecook、twitter 等上的帐户。我不想用 role="navigation" 标记这些链接,因
说现在是 6 点,我有一个 Timer 并在 10 点安排了一个 TimerTask。之后,System DateTime 被其他服务(例如 ntp)调整为 9 点钟。我仍然希望我的 TimerTas
就目前而言,这个问题不适合我们的问答形式。我们希望答案得到事实、引用资料或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the
我就废话不多说了,大家还是直接看代码吧~ ? 1
Maven系列1 1.什么是Maven? Maven是一个项目管理工具,它包含了一个对象模型。一组标准集合,一个依赖管理系统。和用来运行定义在生命周期阶段中插件目标和逻辑。 核心功能 Mav
我是一名优秀的程序员,十分优秀!