Нет HTTP-запросов для определенных методов контроллера - PullRequest
1 голос
/ 27 февраля 2012

В настоящее время я читаю книгу о ASP.NET MVC3, чтобы научиться работать с этим фреймворком.Концепция частичных представлений объясняется, и хотя это простая концепция, у меня есть небольшой вопрос.

Этот код бритвы добавляется к представлению:

@{ Html.RenderAction("Summary", "Cart"); }

Это вызывает сводку() -метод на CartController.Проблема: как пользователь, я могу вызвать этот метод через HTTP-запрос (GET / POST, ...), что не должно быть возможным.

Я знаю, что есть такие атрибуты, как [HttpPost] и [HttpGet] разрешить только определенные виды HTTP-запросов, но есть ли атрибут, предотвращающий их?Кроме того, где я могу найти список доступных атрибутов?

Спасибо

1 Ответ

1 голос
/ 27 февраля 2012

Если у вас есть частичное представление, вы правы, что это должен быть публичный метод, но он не должен быть адресуемым сам по себе. чтобы добиться этого, вы можете украсить метод действия с помощью [ChildActionOnly]

Подробнее см.

http://msdn.microsoft.com/en-us/library/system.web.mvc.childactiononlyattribute.aspx

А для списка похожих атрибутов:

http://msdn.microsoft.com/en-us/library/system.web.mvc.filterattribute.aspx

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