Мне нравится HTML-помощник Webgrid в Razor-ViewEngine.
К сожалению, я столкнулся с проблемой. Используя встроенные функции сортировки и разбивки на страницы, я теряю настройки фильтра.
Над сеткой у меня есть filtercontrol (форма), который фильтрует строки, показанные в сетке, заполняя класс фильтра и вызывая метод действия на контроллере при отправке.
Код в контроллере:
public ActionResult DeliveryContractList(SampleClassFilter filter){
// Populate a filtered List of Items to Show
IList<SampleClass> model = FillList(filter);
// Return a View with the List.
return View("SampleClassList", model);
}
Вид:
@model IEnumerable<SampleClass>
@{
ViewBag.Title = "SampleClassList";
}
@using(Html.BeginForm()){
// Form to Set the Filter
...
}
<div id = "SampleClassList">
var grid = new WebGrid(Model, canPage: true, canSort: true, ajaxUpdateContainerId: "SampleClassList");
@grid.GetHtml(htmlAttributes: new {id = "gridSampleClass"}, columns:
grid.Columns(
grid.Column("Foo", "For", canSort: true),
grid.Column("Bar", "Bar", canSort: true),
)
);
</div>
Я понял, что при нажатии, например, также вызывается заголовок столбца сетки для сортировки метода действия в контроллере. Конечно, класс фильтра равен нулю, что приводит к нефильтрованному набору результатов.
Есть ли способ сохранить мои результаты отфильтрованными при сортировке или разбивке по страницам веб-сетки?
Я не хочу использовать jquery !!!
Заранее спасибо
Tobi
Можно ли определить параметры, добавляемые в ссылку, вызываемую при нажатии на ссылку сортировки или страницы?