私は、ページングされたリストクラスを使用して、nerddinnerチュートリアルのアイデアを使用する単純なページングシステムをアプリに設定しました。
public class PaginatedList<T> : List<T> {
public int PageIndex {}
public int PageSize {}
public int TotalCount {}
public int TotalPages {}
public PaginatedList(IQueryable<T> source, int pageIndex, int pageSize){}
public bool HasPreviousPage {}
public bool HasNextPage {} }
ページングは機能し、次のコントローラーアクションのように、LINQ2SQLを介してデータベースから長いテーブルを取得するために使用しています。
public ActionResult Index(int page=0)
{
const int pageSize = 10;
var source = repo.SvaMjesta();
var paginatedList = new PaginatedList<Mjesto>(source, page, pageSize);
return View(paginatedList);
}
ページングは正常に機能します。クエリタイプを使用している限り、どのページにもアクセスできます。URL:/ Admin / Mjesta?page = 2
これは避けたいので、/Admin/のような単純なURLを使用したいと思います。 Mjesta/ページ/2
その目的のために、私はAdminAreaRegistration.csにこのエントリを作成しました
context.MapRoute(
"pMjesta",
"Admin/Mjesta/Page/{page}",
new {controller = "Mjesta", action = "Index"});
しかし、/ Admin / Mjesta / Page / 2などのURLにアクセスしようとすると、それでも404エラーがスローされます。
私のアイデアは、最初はMapRoutingである種の一般的なページングエントリを作成することでした。そのため、同じ部分ビューを使用して、必要なすべてのリストでページングコントロールをレンダリングできますが、機能させることができなかったため、これを試しました。より具体的なアプローチですが、コントローラーにこのURL要求に反応させることができません。
何かアイデアや提案をお願いします。