Отключить метод действия от вызова из адресной строки

В моем контроллере есть метод, который я не хочу вызывать из адресной строки в браузере...

Есть способ сделать это? Может быть, какая-то аннотация, модификация в конфигурации маршрута? Какие у меня варианты?

2 ответа

Решение

Если вы собираетесь использовать это действие только из вашего контроллера или представлений, вы можете использовать ChildActionOnly приписывать.

Если вы хотите получить к нему доступ через POST, вы можете использовать [HttpPost] приписывать.

Но если вы хотите использовать его, используя GET (т. е. с помощью вызова AJAX и т. д.), и вы не хотите, чтобы пользователи обращались к нему с помощью адресной строки, тогда вы можете следовать этому руководству, чтобы выполнять свои действия только в AJAX.

Или, если вы просто хотите метод, который вообще не является Action (то есть не может быть вызван с использованием HTTP), то вы можете либо сделать его private или использовать [NonAction] атрибут

Использование NonAction атрибут по методу.

Другие вопросы по тегам