Отключить метод действия от вызова из адресной строки
В моем контроллере есть метод, который я не хочу вызывать из адресной строки в браузере...
Есть способ сделать это? Может быть, какая-то аннотация, модификация в конфигурации маршрута? Какие у меня варианты?
2 ответа
Если вы собираетесь использовать это действие только из вашего контроллера или представлений, вы можете использовать ChildActionOnly
приписывать.
Если вы хотите получить к нему доступ через POST, вы можете использовать [HttpPost]
приписывать.
Но если вы хотите использовать его, используя GET
(т. е. с помощью вызова AJAX и т. д.), и вы не хотите, чтобы пользователи обращались к нему с помощью адресной строки, тогда вы можете следовать этому руководству, чтобы выполнять свои действия только в AJAX.
Или, если вы просто хотите метод, который вообще не является Action (то есть не может быть вызван с использованием HTTP), то вы можете либо сделать его private
или использовать [NonAction]
атрибут