asp.net包含动态生成表中的分页

时间:2011-11-02 15:42:29

标签: asp.net paging

我有现有的客户端代码,其中sql数据读取器用于从数据库中提取记录,在后面的代码中,表内容生成为字符串,然后分配给页面上的asp:literal元素。

Dim myreader As SqlDataReader = selectcmd.ExecuteReader

If myreader.HasRows Then
str = str & "" // str is string

While myreader.Read()
If Not IsDBNull(myreader("column1")) Then
  str = str & "<tr><td align=left><font color=white>" & myreader("column1") & "</font></td></tr>"
End If
End While

// in the end string is assigned to Text attribute of asp:literal element

客户希望使用分页,并且一次只能看到10行,并且应该通过分页查看休息。

任何人都可以建议如何实现这一目标。

感谢。

2 个答案:

答案 0 :(得分:1)

您是否尝试过其中一个内置控件,例如GridView?您可以使用它设置分页,排序等。或者你有什么理由把它写成文字吗?

答案 1 :(得分:0)

大多数时候在服务器端进行这种HTML连接是一个非常糟糕的主意。

对于您的场景,您可以使用SQLDataSource将数据提供给gridview,并只启用对分页和支持的支持。排序。除了在标记上声明数据源之外,您不必编写一行代码来使其工作。

There's an excellent tutorial here.

如果这不能为您剪切,则必须通过要求数据库根据当前页码确切返回所需的行数来自行实现分页。通常,您需要使用ROW_NUMBER()TOP来分析数据库端的结果。

Here's an example on how to do paging on the database side.