Я только что выпустил плагин jQuery, который поддерживает MVC3 (вы можете использовать модели представлений), который генерирует таблицу для вас.
https://github.com/jgauffin/Griffin.Table
Установить пакет
install-package griffin.table.mvc3
Создание модели вида (Models\User.cs
)
public class User
{
public int Id { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
}
Создание представления (Views\Home\Index.cshtml
)
@model GriffinTableViewModel<DemoProject.Models.User>
@{
ViewBag.Title = "Home Page";
}
@using (Html.GriffinTableForm("myTable", new{action = "Items"})) {}
@Html.GriffinTable("myTable", Model)
<script type="text/javascript">
$(function () {
$('#myTable').griffinTable({ fetchAtStart: true, pageManager: $.griffinTableExtensions.pageManagers.showMoreLinkPager });
});
</script>
Создайте два действия в вашем контроллере (HomeController
)
public ActionResult Index()
{
return View();
}
public ActionResult Items(GriffinTableAjaxRequest model)
{
var users = new List<User>();
for (int i = 0; i < 50; i++)
{
users.Add(new User {Id = i + 1, FirstName = "first" + i, LastName = "last" + i});
}
// [.. do sorting here using model.SortColumn and model.SortOrder ..]
var pagedResult = users.Skip((model.PageNumber - 1)*model.PageSize).Take(model.PageSize);
return this.GriffinTable(pagedResult, users.Count);
}
Существует четыре примера использования реализации здесь