асинхронная отправка формы в asp.net MVC 3

#asp.net #asp.net-mvc #asp.net-mvc-3 #razor

#asp.net #asp.net-mvc #asp.net-mvc-3 #razor

Вопрос:

Я работаю над asp.net 3 приложения. У меня есть представление, которое представляет собой отчет о данных, поступающих из разных таблиц. в этом представлении мне нужно создать форму с элементами ввода. Эта форма должна быть отправлена без обратной отправки.

1) Должен ли я создать частичное представление или добавить его в текущее представление / В более позднем случае мне нужно создать / обновить viewmodel, который передается для просмотра?

2) Как я могу опубликовать форму асинхронно, используя частичное представление или внутри того же представления?

С уважением, Асиф Хамид

Комментарии:

1. @Darin и я должен создать частичное представление? есть какой-нибудь пример использования ajax в этом случае?

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

Ответ №1:

Создайте частичное представление для этой формы и вместо обратной отправки используйте jQuery для обработки события click, которое запустит jQuery.post() для вашего действия, которое обрабатывает данные. Затем ваше действие должно вернуть (обновленный) частичный вид, с которым вы можете использовать

 $('div.yourcontainerclass').html(data)
  

в вашем обработчике события успешного завершения записи jQuery для перезагрузки обновленного частичного представления.

Комментарии:

1. Нужно ли мне использовать Ajax или Ajax с jQuery?

2. Я использую jQuery для своего Ajax, потому что все это инкапсулировано в простые в использовании вызовы функций, понятные для разных браузеров.

3. @Keith, как вы отправляете форму, используя метод post jQuery? Я понимаю, как обрабатывать событие click, я знаю, как использовать post, но я не понимаю, как вы могли бы получить входные значения из формы и включить их в post?

Ответ №2:

Используйте Ajax.BeginForm , чтобы позволить MVC обрабатывать ее асинхронно. Существуют перегрузки для вас, чтобы установить, что произойдет после возврата ответа. Используете ли вы частичное представление или нет, вероятно, должно зависеть от того, планируете ли вы его повторно использовать или оно соответствует вашей модели.