2008-08-21 7 views
15

मुझे एक सिस्टम मिला है। जेनेरिक। चयन। सूची (MyCustomClass का) प्रकार ऑब्जेक्ट।मैं जेनेरिक संग्रह को पेजिंग के लिए लिंक का उपयोग कैसे करूं?

पूर्णांक varaibles पृष्ठों और pagenumber दिया गया, मैं केवल MyCustomClass वस्तुओं के किसी भी एक पृष्ठ से पूछताछ कैसे कर सकता हूं?

+0

मेरा मानना ​​है कि आपके पास यह करने के लिए टेक और छोड़ें फ़ंक्शन है। –

उत्तर

29

आप अपने LINQ क्वेरी कि सभी पंक्तियों को प्रदर्शित करना चाहते शामिल है, इस कोड का इस्तेमाल किया जा सकता है:

var pageNum = 3; 
var pageSize = 20; 
query = query.Skip((pageNum - 1) * pageSize).Take(pageSize); 

तुम भी वस्तु पर एक विस्तार विधि बना सकते हैं

लिखने के लिए सक्षम होने के लिए अगर ऐसा है आप चाहते हैं चाहते
query.Page(2,50) 

पेज 2. के पहले 50 रिकॉर्ड प्राप्त करने के लिए, सूचना के आधार पर solid code blog.

5

हाय है वहाँ एक दुष्ट बात PagedList कहा जाता है जो मैं रॉब कॉनरी स्क्रीन कास्ट देखते समय मिला।

http://blog.wekeroad.com/2007/12/10/aspnet-mvc-pagedlistt/

यह है सब छोड़ें और में बनाया गया सामान ले लो।

आपको बस इतना कॉल

var query = from item in DB.Table 
where item.Field == 1 
orderby item.Field2 
select item; 

PagedList<MyType> pagedList = query.ToPagedList(pageIndex, pageSize); 

आशा है कि यह मदद करता है .. मैं इसे अभी उपयोग कर रहा हूँ और यह काम करता linq के लिए इकाइयों के लिए ठीक है। लिंक से इकाइयों के साथ आपको छोड़ने और टेक का उपयोग करने से पहले ऑर्डरबी करना होगा।

संबंधित मुद्दे