【问题标题】:asp.NET applying paging with Skip and Take on gridviewasp.NET 在 gridview 上使用 Skip 和 Take 应用分页
【发布时间】:2017-09-20 13:06:24
【问题描述】:

我想要的是每 3 页中有 5 个结果。

【问题讨论】:

    标签: c# asp.net .net gridview paging


    【解决方案1】:

    我想您会发现网格视图处理分页时没有任何代码会使用跳过和占用。你正在做的是试图在内存分页中做,网格视图已经这样做了。无论如何作为你想要的练习

    const int PageSize = 5
    int pageNumber = 3;
    int skip = (pageNumber - 1)*PageSize;
    
    IEnumerable<DataRow> MyDataPage = dt.AsEnumerable().Skip(skip).Take(PageSize);
    

    我还应该补充一点,您正在使用 .NET 中的技术堆栈,该技术堆栈仅用于遗留支持。大多数曾经使用过 DataSets 和 DataTables 的人现在正在使用 Entity Framework 和 LINQ。此外,经典的 ASP.NET 页面将不再是开发 Web 表单的选择。学习 MVC 或 Angular JS 和 Web API 可能会更好

    【讨论】:

    • 感谢您的提示。我在 Spring Framework 的日常工作中使用 MVC,但我想在使用 .net 的第一天放慢速度。如何使网格视图处理分页?添加 PageSize="5" 并不能解决问题。
    • 尝试关注这篇文章....codeproject.com/Articles/816953/…。学习经典的 ASP.NET 页面并不是我所说的“慢慢来”,它只是非常不同,而且过时了,它是一个 16 年历史的、用于构建 Web 应用程序的非常高级的开发 sdk。这个框架的主要抱怨之一是它太黑盒并且隐藏太多。除了广泛的架构概念之外,您可以从中汲取的东西很少,可以帮助您使用更现代的框架和方法
    【解决方案2】:
    Make sure these two fields are sent as part of HttpRequest from client 
    /// <summary>
        /// Number of records that should be shown in table
        /// </summary>
        public int DisplayLength { get; set; }
    
        /// <summary>
        /// First record that should be shown(used for paging)
        /// </summary>
        public int DisplayStart { get; set; }
    
    //Server side code
    GetData(){
    
                 Members.Skip(param.DisplayStart)  
                 .Take(param.DisplayLength); 
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-24
      • 1970-01-01
      • 2015-12-30
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多