Сегодня 2 мая, четверг ГлавнаяНовостиО проектеЛичный кабинетПомощьКонтакты Сделать стартовойКарта сайтаНаписать администрации
Поиск по сайту
 
Ваше мнение
Какой рейтинг вас больше интересует?
 
 
 
 
 
Проголосовало: 7272
Кнопка
BlogRider.ru - Каталог блогов Рунета
получить код
coding4.net
coding4.net
Голосов: 1
Адрес блога: http://www.coding4.net/
Добавлен: 2012-06-11 20:16:46
 

Постраничность в ASP.NET для Generic List-а с использованием LINQ

2012-07-18 00:14:00 (читать в оригинале)

Практически все разработчики биндят свои Generic List-ы к ASP.NET контролам. Однако если список огромен, то вам нужно реализовать постраничность. Здесь простой пример реализации постраничности с использованием LINQ. Предполагается, что список в памяти.


C#



using System;


using System.Collections.Generic;


using System.Linq;


using System.Web;


using System.Web.UI;


using System.Web.UI.WebControls;


 


public partial class LINQ : System.Web.UI.Page


{


    protected void Page_Load(object sender, EventArgs e)


    {


        List<Employee> empList = new List<Employee>();


        empList.Add(new Employee() { ID = 1, FName = "John",  DOB = DateTime.Parse("12/11/1971")});


        empList.Add(new Employee() { ID = 2, FName = "Mary",  DOB = DateTime.Parse("01/17/1961")});


        empList.Add(new Employee() { ID = 3, FName = "Amber", DOB = DateTime.Parse("12/23/1971")});


        empList.Add(new Employee() { ID = 4, FName = "Kathy", DOB = DateTime.Parse("11/15/1976")});


        empList.Add(new Employee() { ID = 5, FName = "Lena",  DOB = DateTime.Parse("05/11/1978")});


 


        var records = from emp in empList


                      select emp;


        var pgNo = 1;


        var pgRec = 2;


        records = records.Skip((pgNo - 1) * pgRec).Take(pgRec);


 


        foreach (var r in records)


        {


            Console.WriteLine(r.FName);


        }


 


    }


 


    class Employee


    {


        public int ID { get; set; }


        public string FName { get; set; }


        public DateTime DOB { get; set; }


    }


 


}



VB.NET



Imports System


Imports System.Collections.Generic


Imports System.Linq


Imports System.Web


Imports System.Web.UI


Imports System.Web.UI.WebControls


 


Partial Public Class LINQ


    Inherits System.Web.UI.Page


    Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs)


        Dim empList As New List(Of Employee)()


        empList.Add(New Employee() With {.ID = 1, .FName = "John", .DOB = DateTime.Parse("12/11/1971")})


        empList.Add(New Employee() With {.ID = 2, .FName = "Mary", .DOB = DateTime.Parse("01/17/1961")})


        empList.Add(New Employee() With {.ID = 3, .FName = "Amber", .DOB = DateTime.Parse("12/23/1971")})


        empList.Add(New Employee() With {.ID = 4, .FName = "Kathy", .DOB = DateTime.Parse("11/15/1976")})


        empList.Add(New Employee() With {.ID = 5, .FName = "Lena", .DOB = DateTime.Parse("05/11/1978")})


 


        Dim records = _


         From emp In empList _


         Select emp


        Dim pgNo = 1


        Dim pgRec = 2


        records = records.Skip((pgNo - 1) * pgRec).Take(pgRec)


 


        For Each r In records


            Console.WriteLine(r.FName)


        Next r


 


    End Sub


 


    Private Class Employee


        Private privateID As Integer


        Public Property ID() As Integer


            Get


                Return privateID


            End Get


            Set(ByVal value As Integer)


                privateID = value


            End Set


        End Property


        Private privateFName As String


        Public Property FName() As String


            Get


                Return privateFName


            End Get


            Set(ByVal value As String)


                privateFName = value


            End Set


        End Property


        Private privateDOB As DateTime


        Public Property DOB() As DateTime


            Get


                Return privateDOB


            End Get


            Set(ByVal value As DateTime)


                privateDOB = value


            End Set


        End Property


    End Class


 


End Class



Пример показывает, как использовать Skip() и Take() операции над списком.


Это перевод. Оригинал здесь.

Тэги: (решение), asp.net, linq, object, сайт, сделать, создание

 


Самый-самый блог
Блогер Рыбалка
Рыбалка
по среднему баллу (5.00) в категории «Спорт»
Изменения рейтинга
Категория «Кино»
Взлеты Топ 5
+363
414
Информационный колодец
+341
345
Yurenzo
+339
343
CAPTAIN
+331
341
Alta1r
+322
361
Vindigo
Падения Топ 5


Загрузка...Загрузка...
BlogRider.ru не имеет отношения к публикуемым в записях блогов материалам. Все записи
взяты из открытых общедоступных источников и являются собственностью их авторов.