Несколько действий контроллера ASP.NET MVC в одной форме - PullRequest
1 голос
/ 09 февраля 2009

Возможно, я забрел в неправильном направлении, поэтому, пожалуйста, помогите.

В моем приложении ASP.NET MVC есть страница, на которой отображаются комментарии. Эти комментарии поступают от действия «Индекс» контроллера «Комментарии». Внизу страницы у меня есть форма для добавления новых комментариев. Эта форма должна позвонить

[AcceptVerbs(HttpVerbs.Get)] 
public ActionResult AddComment();

действие при рендеринге формы пользователю и

[AcceptVerbs(HttpVerbs.Post)] 
public ActionResult AddComment(Comment c); 

действие при публикации нового комментария на сервере.

Я предполагаю, что страница «Комментарии» должна вызывать три метода действия (Index, AddComment [Get], AddComment [Post]). Однако AddComment [Get] никогда не вызывается.

Пожалуйста, укажите мне правильное направление.

Спасибо.

Ответы [ 2 ]

1 голос
/ 09 февраля 2009

Если форма отправки выполняет POST (отправка) на странице комментариев (т. Е. Имеет действие страницы комментариев и метод POST), тогда это действительно версия POST, в которой должны использоваться chouls. Версия GET будет использоваться, если вы (например) используете стандартную привязку / ссылку для отображения отдельной страницы комментариев (или при выдаче AJAX «get» на этот адрес).

Как вы в настоящее время попадаете на страницы? На данный момент кажется, что ваша страница индекса добавляет форму вручную - поэтому нет места для комментариев, которые можно использовать, если вы не добавляете форму через AJAX.

0 голосов
/ 09 февраля 2009

Добавьте ссылку на сборку MVC Futures и используйте вспомогательный метод Html.RenderAction , чтобы включить результат другого действия в просмотр страницы.

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