2008-11-15 10 views
13

Hiện tại, tôi đang sử dụng chiến lược được tìm thấy trên nhiều bài đăng trên blog. Về cơ bản, URL chứa số trang (ví dụ:/Người dùng/Danh sách/5 sẽ cung cấp cho bạn những người dùng trên trang 5 trong danh sách người dùng được phân trang của bạn). Tuy nhiên, tôi không chạy vào một tình huống mà một trang phải liệt kê hai danh sách phân trang riêng biệt. Làm thế nào để tôi làm điều này bằng cách sử dụng ASP.NET MVC? Tôi có chỉ cung cấp hai thông số url (ví dụ:/Người dùng/Danh sách? Page1 = 1 & page2 = 2) không? Có cách nào tốt hơn bằng cách sử dụng một phần lượt xem?Làm thế nào để bạn thực hiện phân trang trong ASP.NET MVC?

Trả lời

10

Bỏ qua các tuyến đường chỉ trong một phút, bạn sẽ chỉ giữ trạng thái của 2 trang khác nhau trong URL dưới dạng tham số chuỗi truy vấn.

mysite.com/foo?list1page=2 & list2page = 8

Sau đó, bạn xây dựng các dữ liệu/máy nhắn tin cho phù hợp. Các liên kết máy nhắn tin sẽ chỉ cập nhật url.

Bạn có thể sáng tạo với các tuyến đường để tạo URL thân thiện hơn, nhưng tôi nghĩ rằng thông số chuỗi truy vấn hoàn toàn có thể chấp nhận tại đây.

+1

Điều gì xảy ra nếu bạn cũng phải cập nhật nhiều thông số tìm kiếm? –

+0

Điều này trở nên phức tạp hơn một chút. Có thể bạn sẽ muốn có một người trợ giúp trong một số ngữ cảnh và tạo URL thích hợp. –

2

Nếu bạn sử dụng tham số truy vấn thì các liên kết trang trong mỗi danh sách phải biết về nhau để vượt qua cả hai tham số.

Nếu hai danh sách độc lập với nhau thì bạn có thể cập nhật chúng riêng lẻ bằng cách sử dụng jquery & ajax. Đơn giản chỉ cần đặt mỗi danh sách trong div riêng của họ như là một phần xem.

<div id="list1"><%= Html.RenderPartial ("ListA") %></div> 
<div id="list2"><%= Html.RenderPartial ("ListB") %></div> 

Lookup ajaxSubmit từ Mẫu jQuery plugin kiếm một cách dễ dàng để cập nhật danh sách.