Лучший способ добавить фильтр к URL-адресу в .NET MVC

Я постараюсь сделать это максимально кратким.

  • Веб-страница содержит таблицу, которая позволяет выполнять фильтрацию и сортировку.
  • Изменения в фильтрации и сортировке должны отражаться в URL-адресе, чтобы пользователь мог добавлять в закладки или делиться отфильтрованными представлениями.

Возникает вопрос: что является эффективным соглашением, позволяющим всем синтаксиса сортировки и фильтрации быть частью URL-адреса и легко интерпретировать/использовать его на сервере без необходимости писать кучу пользовательского кода, который его интерпретирует?

Я провел небольшое исследование и наткнулся на соглашения URI OData, и мне нравится, как они работают. http://www.odata.org/developers/protocols/uri-conventions

Дополнительные исследования показывают, что веб-API MVC 4 позволяет использовать это соглашение, возвращая IQueryable. Это выглядит фантастически, за исключением одной части... На данный момент я не реализую RESTful API, и это все, с чем он работает. Итак, как я могу использовать что-то вроде OData и при этом возвращать View или PartialView? Есть ли что-то, что будет анализировать соглашение URI OData в объект C #?

Если у кого-то есть идеи или предложения по этой проблеме, я внимательно слушаю.

6
задан tereško 26 June 2012 в 14:01
поделиться