【问题标题】:How to do paging a single row data in ASP.NET如何在 ASP.NET 中对单行数据进行分页
【发布时间】:2011-07-02 10:13:21
【问题描述】:

我有一篇非常大的文章(单个数据库行),我需要逐页显示。

如果它是一个数据集(多行),那么我可以在带有服务器端分页的网格上显示。

对于单个大行,如何逐页分片?

用户提交非常大的文章时的典型情况。

【问题讨论】:

    标签: c# asp.net paging


    【解决方案1】:

    您能否将文章的文本内容拆分为分段符并从中创建一个List<string>,然后将其绑定到您的分页和网格控件。然后当页面回传时,文章会以同样的方式被拆分成块,分页就可以工作了。

    您当然可以在请求之间缓存List<string>,从而不必重复访问数据库并处理记录。

    【讨论】:

      【解决方案2】:

      怎么样:

      • 将数据拉入string[] .Spliting 在一些平均行数上
      • 将每个项目添加到 DataRow 中
      • .DataSource 分配给表

      然后享受GridView提供的分页。

      Here is how你可以LINQ进入string[],并将结果与​​网格绑定。

      【讨论】:

        【解决方案3】:

        没有通用的解决方案。一种方法是将其存储在已按页面划分的数据库中。但我认为在从数据库中读取文章时将文章拆分为页面会更好。例如:

        var article = new ArticleRepository().GetById(1);
        //这里的文章有Pages属性,可以根据你的喜好拆分原始文章
        datagrig.datasource = article.Pages;
        

        当您决定以不同方式拆分文章时,您可以更改文章和页面属性中的逻辑。它不会影响 ASP.NET 页面。也许稍后您决定该页面应该包含有关上一页或下一页内容的信息。那么 Page 可以有两个属性:PreviousPageExcerpt、NextPageExcerpt。这比将文章转换为字符串数组要好。拥有 Article 类中的所有逻辑还可以让您对将文章划分为页面进行单元测试。

        【讨论】:

          【解决方案4】:

          也许是这样的 (我没有测试。)

          公共函数 SplitBySize(ByVal strInput As String, ByVal iSize As Integer) As String() 暗淡 strA() 作为字符串 Dim iLength As Integer = strInput.Length() Dim iWords As Integer = iLength / iSize + IIf((iLength Mod iSize 0), 1, 0) ReDim strA(iWords) Dim j As Integer = 0, i As Integer For i = 0 To iLength Step iSize strA(j) = Mid(strInput, i + 1, iSize) j = j + 1 接下来我 返回 strA 结束功能 子页面加载() Dim id As Integer = 5 将页面变暗为整数 = 2 将 chrsCountPerPage 调暗为整数 = 1000 Dim topic As String = "" '(From s In topics Where s.id = id Select s).first().details 暗淡 STopic = SplitBySize(topic, chrsCountPerPage) 如果页面 > STopic.Length 然后 页 = 1 万一 lblTopic.text = STopic(page - 1) 结束子

          【讨论】:

            猜你喜欢
            • 2020-08-16
            • 2019-06-09
            • 2022-01-21
            • 2017-04-13
            • 2011-10-02
            • 1970-01-01
            • 2021-06-14
            • 2014-07-17
            • 1970-01-01
            相关资源
            最近更新 更多