Результат фильтра MVC 4 - перенаправление или просмотр?

1

Я создаю приложение MVC 4. Обработка разрешений и исключений выполняется с помощью Filters.

В фильтре я могу либо перенаправить пользователя на страницу с ошибкой, используя RedirectToRouteResult либо вернуться к просмотру моей страницы ошибок с помощью ViewResult.

Какой вариант лучше на практике и почему?

  • 0
    я использовал для перенаправления к действию
  • 0
    В настоящее время я перенаправляю к действию (через Маршрут), но я не уверен, что это хороший подход.
Теги:
asp.net-mvc-4

3 ответа

2
Лучший ответ

1.Return View не создает новые запросы, он просто отображает представление без изменения URL-адресов в адресной строке браузера.

2. Возврат RedirectToAction делает новые запросы и URL-адрес в адресной строке браузера обновляется сгенерированным URL-адресом MVC.

3.Return Redirect также обновляет новые запросы и URL-адрес в адресной строке браузера, но вы должны указать полный URL-адрес для перенаправления

4.Between RedirectToAction и Redirect лучше всего использовать RedirectToAction для любых действий с вашими действиями/контроллерами приложений. Если вы используете перенаправление и укажите URL-адрес, вам нужно будет изменить эти URL вручную при изменении таблицы маршрутов.

5.RedirectToRoute перенаправляет на определенный маршрут, определенный в таблице маршрута.

1

Это зависит от того, существует ли какая-либо логика в действии с ошибкой, которая заполняет модель представления (например, настройку кода состояния http) или у вас есть только статический вид. Конечно, вы могли бы переместить эту логику в фильтр, но это не позволит вам перенаправлять из другого действия, которое не использует тот же фильтр.

1

Если вы хотите переместить страницу с ошибкой со статическими данными с ограниченными сообщениями, тогда используйте ViewResult else, используя RedirectToRouteResult в этом вы можете использовать, как хотите.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню