こんにちは私は誰かが私のasp.netmvc3Webサイトでpagedlistコード(https://github.com/TroyGoode/PagedList)を実装するときに私が経験している問題に光を当てているのではないかと思っていました。これが私がやろうとしていることの詳細です:
私はこの詳細でViemodelを作成しました:
public class ProductViewModelList
{
public List<Product> ProductBrowse { get; set; }
public int NumberOfProducts { get; set; }
public List<Category> CategoryModel { get; set; }
}
次に、ビューに渡したい情報を保持しているコントローラー:
public ActionResult List(int categoryid, int? page)
{
const int defaultPageSize = 20;
int currentPageIndex = page.HasValue ? page.Value - 1 : 0;
var categoryModel = db.Category.Include("Product").Single(c => c.CategoryId == categoryid);
var paginatedmodel = categoryModel.Product.ToPagedList(currentPageIndex, defaultPageSize);
var viewModel = new ProductViewModelList
{
ProductBrowse = paginatedmodel.ToList(),
NumberOfProducts = categoryModel.Product.Count()
};
return View(viewModel);
最後に、次で始まるビュー:
@inherits System.Web.Mvc.WebViewPage<IPagedList<Social.ViewModels.ProductViewModelList>>
@using Social.Helpers;
@using System.Web.Mvc.Html
この方法でポケットベルを使用してforeachを作成します。
@foreach (var item in Model)
{
<div class="result">
<div class="info_result"><h2><a>@Html.ActionLink(Html.TruncateText(item.Title, 25), "Details", new { id = item.ProductId })</a></h2><p><a>@Html.ActionLink(Html.TruncateText(item.Description, 180), "Details", new { id = item.ProductId })</a></p<a>@String.Format("{0:dddd, MMMM d, yyyy}", item.CreatedOn)</a></div>
<div class="paginacion">@Html.Pager(Model.PageSize, Model.PageNumber, Model.TotalItemCount)</div>
情報:1-私は使用しています
@inherits System.Web.Mvc.WebViewPage<IPagedList<Social.ViewModels.ProductViewModelList>>
IPagedListとProductViewModelListからビューに情報を渡す必要があるためです。
2- <IPagedList<Social.ViewModels.ProductViewModelList>
IPagedListプロパティの完全なインテリセンスを受け取ったように継承を渡すと、Viewmodels NumberofProducts、ProductBrowse、CategoryModelの場合は名前のみを受け取り、例としてProductBrowse.ProductIdなどのプロパティは受け取りません。
3-次のタイプのURLを表示したい:http: //www.domain.com/Controller/List?categoryId = 2&page = 1
4-オブジェクト値を含めるために何をしなければならないのかわかりません
Html.Pager(Model.PageSize, Model.PageNumber, Model.TotalItemCount, ObjectValues for categoryId=2)
これが理解しにくい場合は申し訳ありませんが、説明するために最善を尽くしました。前もって感謝します。