Как использовать RouteValues ​​с помощью MvcPaging2.0 в MVC3?C#

Место общения программистов C#
Ответить
Anonymous
 Как использовать RouteValues ​​с помощью MvcPaging2.0 в MVC3?

Сообщение Anonymous »

Html-помощник @Html.Pager из MvcPaging 2.0. имеет .Options(o => o.RouteValues(object RouteValues)), который может возвращать модель обратно в контроллер , но MvcPaging требует, чтобы этот помощник был заполнен IPagedList в представлении, в котором он живет. Это модель, которая генерирует таблицу и разбиение по страницам. Как лучше всего реализовать mvcpaging 2.0. используете SearchModel для поиска и Model для отображения результатов?

Пример:

< Strong>МОДЕЛИ:

public class SearchModel
{
public string FirstName { get; set; }
public string LastName { get; set; }
}

public class Person
{
[Key]
public int Id { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
public DateTime Dob { get; set; }
public string City { get; set; }
}


ПРОСМОТР:
Index.cshtml

@using (Ajax.BeginForm("Search", "SearchPerson", new AjaxOptions
{
HttpMethod = "GET",
InsertionMode = InsertionMode.Replace,
UpdateTargetId = "main_search_result_table_id"
}))
{
@Html.TextBoxFor(m => m.FirstName)
@Html.TextBoxFor(m => m.LastName)

}

@{Html.RenderPartial("_InitPartialEmpty");}



_ResultPartial.cshtml

@using MvcPaging
@model IPagedList


@foreach (var p in Model)
{

@p.FirstName
@p.LastName
@p.Dob
@p.City

}


@Html.Pager(Model.PageSize, Model.PageNumber,
Model.TotalItemCount, new AjaxOptions
{
UpdateTargetId = "main_search_result_table_id"
}).Options(o => o.RouteValues(Model)) //==> IPagedList


КОНТРОЛЛЕР

public ActionResult SearchPerson(int? page,SearchModel person)
{
List
result= adapter.GetPersons(person);

int currentPageIndex = page.HasValue ? page.Value - 1 : 0;

return PartialView("_ResultPartial",
result.ToPagedList(currentPageIndex, 10, result.Count()));
}


Вопрос в том, как реализовать MvcPaging2.0 с использованием модели для поиска? Или есть другой, лучший способ выполнять сложный поиск и не использовать модель для передачи данных запрос? Есть мысли?

Я использую MvcPaging 2.0. ,docs

EDIT:*

Спасибо, Дарин, за ответ, но мне удается извлеките его вот так:

*_ResultPartial.cshtml*

@Html.Pager(Model.PageSize, Model.PageNumber,
Model.TotalItemCount, new AjaxOptions
{
UpdateTargetId = "main_search_result_table_id"
}).Options(o => o.Action("AjaxPaging"))


КОНТРОЛЛЕР

public ActionResult SearchPerson(int? page,SearchModel person)
{
IQueryable query= adapter.GetPersons(person);

Session["SearchQuery"] = query;

int currentPageIndex = page.HasValue ? page.Value - 1 : 0;

List persons = query.ToList();

return PartialView("_ResultPartial",
persons.ToPagedList(currentPageIndex, 10, persons.Count()));
}

public ActionResult AjaxPaging(int? page)
{
IQueryable query = Session["SearchQuery"] as IQueryable;

int currentPageIndex = page.HasValue ? page.Value - 1 : 0;

List persons = query.ToList();

return PartialView("_ResultPartial",
persons.ToPagedList(currentPageIndex, 10, persons.Count()));
}


Подробнее здесь: https://stackoverflow.com/questions/117 ... -0-in-mvc3
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»