MVC 3 интернет-магазин фильтра товаров - PullRequest
0 голосов
/ 17 октября 2011

Я занимаюсь разработкой интернет-магазина, используя asp mvc 3, и использую виды Razor.Я новичок в MVC, и у меня есть проблема с фильтрацией продуктов.

Мой подход был следующим:

  1. определить публичный фильтр PartialViewResult () и включить его в _Layout.cshtml, который будет отображаться на всех страницах
  2. , когда пользователь отправляет фильтрФорма покажет ему товары, соответствующие правилам.Для этого у меня есть еще одно публичное действие ActionResult FilterResult (модель FilterModel)

Вопросы:

  1. Проблема с этим подходом заключается в том, что форма делает сообщение и пользователяневозможно скопировать URL фильтра для отправки по электронной почте.Я хотел бы иметь параметры в URL.Возможно ли это с помощью mvc 3?Или я должен использовать javascript для перенаправления фильтра?

  2. Знаете ли вы лучший и более элегантный подход к проблеме фильтрации продуктов?

Ответы [ 2 ]

0 голосов
/ 17 октября 2011

Вы можете изменить метод формы на GET вместо POST. Я не уверен, что вы можете сделать это с помощью помощника Html.BeginForm (), возможно, вам придется либо не использовать помощник, либо написать расширение для него. Это должно по крайней мере решить вашу первую проблему. Если у вас нет правил маршрутизации, которые говорят иначе.

0 голосов
/ 17 октября 2011

Просто используйте метод GET для вашей формы, и у вас будут параметры фильтра в URL.

Пример:

Это возможно с помощью помощника BeginForm: FormExtensions.BeginForm (HtmlHelper, String, String, FormMethod), для отправки на ту же страницу, это:

Html.BeginForm(null, null, FormMethod.Get)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...