เพจจิ้งเป็นหนึ่งในฟังก์ชันที่ใช้บ่อยที่สุดในเว็บแอปพลิเคชัน ใน ASP.NET แม้ว่าจะมาพร้อมกับตัวควบคุม DataGrid (asp.net1.1) และ GridView (asp.net2.0) ที่สามารถใช้สำหรับเพจจิ้งได้ ฟังก์ชั่นไม่น่าพอใจ เช่น ความสามารถในการปรับแต่งได้ไม่ดี ไม่สามารถใช้งานฟังก์ชั่นเพจจิ้งผ่าน Url ได้ ฯลฯ ยิ่งกว่านั้น บางครั้งเราจำเป็นต้องแบ่งหน้า DataList, Repeater หรือแม้แต่การควบคุมการผูกข้อมูลแบบกำหนดเอง การเขียนโค้ดเพจจิ้งด้วยตนเองไม่เพียงแต่ยากในทางเทคนิคเท่านั้น แต่ยังรวมถึง ก งานที่ยุ่งยาก นอกจากนี้ อัตราการใช้โค้ดซ้ำยังต่ำมาก ดังนั้นเพจจิ้งจึงกลายเป็นปัญหาที่ยุ่งยากที่สุดประการหนึ่งสำหรับโปรแกรมเมอร์ ASP.NET จำนวนมาก
เพื่อตอบสนองต่อข้อบกพร่องของการควบคุมเพจของ ASP.NET AspNetPager เสนอวิธีแก้ปัญหาเฉพาะสำหรับปัญหาเพจใน ASP.NET นั่นคือฟังก์ชันการนำทางเพจและฟังก์ชันการแสดงข้อมูลมีความเป็นอิสระอย่างสมบูรณ์ และผู้ใช้ควบคุมการรับและการแสดงผล ของข้อมูล ดังนั้น จึงสามารถใช้งานได้อย่างยืดหยุ่นทุกที่ที่จำเป็นต้องใช้ฟังก์ชันการนำทางเพจ เช่น การใช้เพจสำหรับการควบคุมที่ผูกกับข้อมูล เช่น GridView, DataList และ Repeater การนำเสนอข้อมูลเพจแบบกำหนดเอง และการสร้างโปรแกรมเรียกดูรูปภาพ เป็นต้น เนื่องจากการควบคุมและข้อมูล AspNetPager เป็นแบบอิสระ ดังนั้นข้อมูลที่จะถูกเพจจึงสามารถมาจากแหล่งข้อมูลใดก็ได้ เช่น SQL Server, Oracle, Access, mysql, DB2 และฐานข้อมูลอื่น ๆ รวมถึงไฟล์ XML ข้อมูลในหน่วยความจำหรือข้อมูล ในแคช ระบบไฟล์ ฯลฯ
AspNetPager เวอร์ชัน 7.2 เปิดตัวคุณลักษณะใหม่ PagingButtonLayoutType ซึ่งสามารถตั้งค่าโหมดเค้าโครงขององค์ประกอบการนำทางเพจ (ดัชนีหน้าตัวเลข หน้าก่อนหน้า หน้าถัดไป หน้าแรก และหน้าสุดท้าย) ค่าของแอตทริบิวต์นี้คือการแจงนับ PagingButtonLayoutType คุณลักษณะของ PagingButtonLayoutType .UnorderedList หรือ PagingButtonLayoutType.Span อนุญาตให้องค์ประกอบการนำทางเพจเหล่านี้รวมอยู่ระหว่างแท็ก <li> และ </li> หรือ <span> และ </span> เพื่ออำนวยความสะดวกในการใช้สไตล์ CSS กับองค์ประกอบเพจเหล่านี้
เพิ่มคุณสมบัติ PagingButtonClass และ PagingButtonStyle ซึ่งสามารถตั้งค่าสไตล์ CSS สำหรับปุ่มนำทางเพจ (ดัชนีหน้าตัวเลข หน้าก่อนหน้า หน้าถัดไป หน้าแรก และหน้าสุดท้าย) แยกกัน
เพิ่มคุณสมบัติ FirstLastButtonClass และ FirstLastButtonStyle คุณสามารถตั้งค่าสไตล์ CSS สำหรับปุ่มนำทางเพจหลักและหน้าสุดท้ายแยกกัน หากไม่ได้ตั้งค่าคุณสมบัตินี้ แต่ระบุค่าของคุณสมบัติ PagingButtonClass และ PagingButtonStyle สไตล์ปุ่มหน้าแรกและหน้าสุดท้าย จะใช้คุณสมบัติ PagingButtonClass และ PagingButtonStyle สไตล์ที่ระบุใน;
เพิ่มคุณสมบัติ NextPrevButtonClass และ NextPrevButtonStyle คุณสามารถตั้งค่าสไตล์ CSS สำหรับปุ่มการนำทางเพจก่อนหน้าและถัดไปแยกกัน หากไม่ได้ตั้งค่าคุณสมบัตินี้ แต่ระบุค่าของคุณสมบัติ PagingButtonClass และ PagingButtonStyle รูปแบบปุ่มหน้าก่อนหน้าและถัดไป จะใช้ PagingButtonClass และสไตล์ที่ระบุในคุณสมบัติ PagingButtonStyle
เพิ่มคุณสมบัติ MoreButtonClass และ MoreButtonStyle ซึ่งสามารถตั้งค่าสไตล์ CSS สำหรับปุ่มนำทางเพจเพิ่มเติมได้ หากไม่ได้ตั้งค่าคุณสมบัตินี้ แต่ระบุค่าของคุณสมบัติ PagingButtonClass และ PagingButtonStyle หน้าก่อนหน้า และสไตล์ปุ่มหน้าถัดไปจะใช้สไตล์ที่ระบุในคุณสมบัติ PagingButtonClass และ PagingButtonStyle
เพิ่มคุณลักษณะใหม่ ShowMoreButtons ซึ่งสามารถระบุว่าจะแสดงปุ่มหน้าเพิ่มเติมหรือไม่
คุณลักษณะใหม่ CurrentPageButtonPosition สามารถตั้งค่าให้แสดงดัชนีหน้าปัจจุบันในดัชนีหน้าดิจิทัลทั้งหมดหลังจากแต่ละเพจ ค่าแอตทริบิวต์คือการแจงนับ PagingButtonPosition ค่าที่สอดคล้องกันและคำอธิบายมีดังนี้:
เริ่มต้น: ดัชนีตัวเลขของหน้าปัจจุบันจะแสดงที่ด้านหน้าของดัชนีหน้าตัวเลขทั้งหมดเสมอ
สิ้นสุด: ดัชนีดิจิทัลของหน้าปัจจุบันจะแสดงที่ส่วนท้ายของดัชนีหน้าดิจิทัลทั้งหมดเสมอ
กึ่งกลาง: ดัชนีดิจิทัลของหน้าปัจจุบันจะแสดงตรงกลางดัชนีหน้าดิจิทัลทั้งหมดเสมอ
คงที่: ค่าเริ่มต้น คงที่;
คุณสมบัติ CssClass ของตัวควบคุมจะถูกนำไปใช้กับองค์ประกอบหน้าต่าง (div) ของตัวควบคุมเท่านั้น และจะไม่ถูกนำไปใช้กับองค์ประกอบการเพจย่อยอีกต่อไป
คุณสมบัติ CenterCurrentPageButton ถูกยกเลิกและสามารถถูกแทนที่ด้วยคุณสมบัติ CurrentPageButtonPosition
แก้ไขคุณสมบัติ CurrentPageIndexn ซึ่งช่วยให้คุณสามารถตั้งค่าของ CurrentPageIndex โดยทางโปรแกรมได้ทุกที่ในโปรแกรมเพื่อระบุเพจปัจจุบันแบบไดนามิก การตั้งค่าของคุณสมบัตินี้โดยตรงจะทริกเกอร์เหตุการณ์ PageChanging และ PageChanged ในเวลาเดียวกัน ทำให้ได้ฟังก์ชันเพจจิ้งเดียวกันกับ คลิกปุ่มเพจ;
แก้ไขข้อบกพร่องในเวอร์ชัน 7.1 ว่าหลังจากตั้งค่าแอตทริบิวต์ SubscriptionImageUrl แล้ว การคลิกปุ่มดัชนีหน้าดิจิทัลในโหมดเพจ Postback ไม่ได้ทำให้เกิดเหตุการณ์การเพจ
แก้ไขข้อบกพร่องที่ไม่สามารถลงทะเบียนสคริปต์ไคลเอนต์ได้หากไม่มีการควบคุมฟอร์มฝั่งเซิร์ฟเวอร์บนเพจเมื่อใช้เพจ Url จากเวอร์ชัน 7.2 หากใช้เพจ Url และคุณสมบัติ ShowPageIndexBox ไม่ได้ตั้งค่าเป็น Never จะต้องควบคุม AspNetPager วางอยู่ในแท็ก <formrunat=" ระหว่างเซิร์ฟเวอร์"> และ </form> หากใช้การเพจ Url และ ShowPageIndexBox เป็น Never ก็ไม่จำเป็นต้องใช้การควบคุมฟอร์มฝั่งเซิร์ฟเวอร์บนเพจ
ฟังก์ชั่นหลักของ AspNetPager:
1. รองรับการเพจผ่าน Url:
นอกเหนือจากการให้วิธีการเพจ PostBack เริ่มต้นที่คล้ายคลึงกับ DataGrid และ GridView แล้ว AspNetPager ยังรองรับการเพจผ่าน Url อีกด้วย เช่นเดียวกับการเพจในโปรแกรม ASP ส่วนใหญ่ วิธีการเพจ Url ช่วยให้ผู้ใช้สามารถป้อนที่อยู่ที่เกี่ยวข้องในแถบที่อยู่ของเบราว์เซอร์ได้โดยตรง นอกจากนี้ เพจยังอนุญาตให้เครื่องมือค้นหาค้นหาเนื้อหาของเพจที่มีการแบ่งหน้าทั้งหมด ดังนั้นจึงมีข้อดีคือเป็นมิตรกับผู้ใช้และเป็นมิตรกับเครื่องมือค้นหา สำหรับความแตกต่างระหว่างวิธีเพจ Url และ PostBack โปรดดูการเปรียบเทียบระหว่าง Url และ PostBack วิธีการเพจ
2. รองรับฟังก์ชันเขียน URL ใหม่ (UrlRewrite) ในโหมดเพจ Url
เทคโนโลยีการเขียน URL ใหม่สามารถทำให้ Url ที่แสดงต่อผู้ใช้แตกต่างจากเทคโนโลยีการเขียน Url จริงถูกนำมาใช้อย่างกว้างขวางในการเพิ่มประสิทธิภาพกลไกค้นหา (SEO) การเปลี่ยนเส้นทางเส้นทางของหน้าหลังจากการจัดระเบียบเว็บไซต์ใหม่ และการจัดหา Url ที่ใช้งานง่ายรองรับเทคโนโลยีการเขียนใหม่ Url ช่วยให้คุณปรับแต่งรูปแบบ URL ของการนำทางเพจและใช้การเขียน URL ใหม่
3. รองรับการใช้รูปภาพที่ผู้ใช้กำหนดเป็นองค์ประกอบการนำทาง:
คุณสามารถใช้ไฟล์รูปภาพแบบกำหนดเองเป็นองค์ประกอบการนำทางสำหรับการควบคุมเพจแทนที่จะแสดงเพียงเนื้อหาข้อความ
4. ฟังก์ชั่นที่ทรงพลังและยืดหยุ่น ใช้งานง่ายและปรับแต่งได้สูง:
องค์ประกอบการนำทางทั้งหมดของตัวควบคุมเพจ AspNetPager สามารถควบคุมได้เป็นรายบุคคล เริ่มตั้งแต่เวอร์ชัน 6.0 AspNetPager รองรับการใช้ธีม (ธีม) และสกิน (สกิน) เพื่อรวมสไตล์โดยรวมของตัวควบคุม .net2.0, AspNetPager คุณจะต้องเขียนโค้ดเพียงไม่กี่บรรทัดหรือไม่ต้องเขียนโค้ดเลย คุณจะต้องตั้งค่าคุณสมบัติบางอย่างเพื่อใช้ฟังก์ชันเพจจิ้ง
5. การสนับสนุนเวลาออกแบบที่ได้รับการปรับปรุงใน Visual Studio 2005/2008 การสนับสนุนเวลาการออกแบบที่ได้รับการปรับปรุงทำให้การควบคุมง่ายขึ้นในระหว่างการออกแบบ ใช้งานง่ายขึ้น รวดเร็วและสะดวกยิ่งขึ้นในการพัฒนา
6. เข้ากันได้กับเบราว์เซอร์เช่น IE6.0+ และ FireFox1.5+
7. เอกสารการควบคุมที่สมบูรณ์และสมบูรณ์และโครงการตัวอย่าง:
เอกสารช่วยเหลือฉบับสมบูรณ์และโครงการตัวอย่างที่มาพร้อมกับตัวควบคุมสามารถช่วยให้คุณเริ่มต้นได้อย่างรวดเร็วและคุ้นเคยกับการใช้ตัวควบคุม AspNetPager คุณยังสามารถแก้ไขปัญหาที่พบในการใช้ตัวควบคุมได้โดยฝากข้อความถึงผู้เขียนและถามคำถาม ฟอรัม