0
如何在我的主页上呈现两个分页列表?MVC3 /部分视图/多分页列表
我愿意不惜一切代价 - 如果这意味着我的定制代码,以适应解决方案或定制现有的解决方案,以适应我的代码。
我已经使用局部视图成功将一个分页列表呈现给主页。
看看我的代码: 查看 ..Home> Index.cshtml
@foreach (var m in Model.First)
{
Html.RenderPartial("FirstSummary", m);
}
<div class="pager">
@Html.PageLinks(Model.PagingInfo, x => Url.Action("Index", new { page = x }))
</div>
查看 ..Shared> FirstSummary.cshtml
@model MovinMyStuff.Domain.Entities.First
@{
if (@Model.IsActive)
{
<div class="first-list-item">
<ul>
<li>
<span class="first-name">
@Model.Property.ToString()
@Model.Property.ToString()
@Model.Property.ToString() -
@Model.Property.ToString()
@Model.Property.ToString()
@Model.Property.ToString()
</span>
</li>
<li>
@Html.ActionLink("Details", "Details", "First", new { area = "", id = @Model.FirstId }, new { @class = "button" })
</li>
</ul>
</div>
}
}
控制器> HomeController.cs
public ViewResult Index(int page = 1)
{
FirstListViewModel viewModel = new FirstListViewModel
{
First = repository.First
.OrderByDescending(m => m.FirstId)
.Skip((page - 1) * PageSize)
.Take(PageSize),
PagingInfo = new PagingInfo
{
CurrentPage = page,
ItemsPerPage = PageSize,
TotalItems = repository.First.Count()
}
};
return View(viewModel);
}
个
模型> FirstListViewModel.cs
using System.Collections.Generic;
using MovinMyStuff.Domain.Entities;
namespace MovinMyStuff.WebUI.Models
{
public class FirstListViewModel
{
public IEnumerable<First> Firsts { get; set; }
public PagingInfo PagingInfo { get; set; }
}
}
的ViewModels> FirstAndSecond.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using MovinMyStuff.WebUI.Models;
namespace MovinMyStuff.WebUI.ViewModels
namespace MovinMyStuff.WebUI.ViewModels
{
public class MovesAndMovers
{
public MovesListViewModel movesList { get; set; }
public MoversListViewModel moversList { get; set; }
public MovesAndMovers()
{
movesList = new MovesListViewModel();
moversList = new MoversListViewModel();
}
}
}
我处理这种东西的方式是用knockoutjs和ajaxing来获取我想要的数据,但这可能会有一个巨大的变化。 –
@KeithNicholas :关于将KnockoutJS整合到MVC3中的一些推荐文章和一些用例?我对这个库感兴趣 –
我使用了backbone.js。是否类似于knockout.js?如果是这样,我将不得不做一些重构。 (: –