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
Как использовать RouteValues с помощью MvcPaging2.0 в MVC3? ⇐ C#
Место общения программистов C#
-
Anonymous
1726672947
Anonymous
Html-помощник @Html.Pager из [b]MvcPaging 2.0.[/b] имеет .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; }
}
[b]ПРОСМОТР:[/b]
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
[b]КОНТРОЛЛЕР[/b]
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
[b]EDIT:*[/b]
Спасибо, Дарин, за ответ, но мне удается извлеките его вот так:
*_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()));
}
Подробнее здесь: [url]https://stackoverflow.com/questions/11765150/how-to-use-routevalues-using-mvcpaging2-0-in-mvc3[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия