2016-02-08 3 views
0

Я делаю учебник MVC и попал в проблему.Ajax.BeginForm не отправляет форму

Я изменил рабочий вид с помощью Html.BeginForm в Ajax.BeginForm. Но форма не отправляется.

В моем исследовании я проверил, что ClientValidationEnabled и UnobtrusiveJavaScriptEnabled оба установлены в true в web.config. У меня есть самая последняя версия jquery.unobtrusive-ajax, js и jquery refrenced. Но до сих пор нет радости.

Я пожарнул jquery.unobtrusive-ajax, чтобы посмотреть, что он делает. Он настраивается на загрузку страницы. Но никакие функции не вызываются, когда я нажимаю кнопку отправки.

Вот отрывок из Посмотреть Источника, чтобы показать, как форма тега начинают устанавливать:

<div id="formSection"> 
    <h3>Having trouble? Send me a message</h3> 
    <form action="/Home/Contact" data-ajax="true" data-ajax-method="post" data-ajax-mode="replace" data-ajax-update="#formSection" id="form0" method="post"> 
    </form>  
    <textarea name="message"></textarea> 
    <input type="submit" value="send" /> 
</div> 

ответ

0

Моя ошибка стала очевидной, задавая вопрос. Я очищал плохое форматирование HTML, когда я видел, что тег конца формы был перед кнопкой отправки!

У меня была ошибка в моем коде Razor.

@Using (Ajax.BeginForm("Contact", "Home", New AjaxOptions With {.HttpMethod = "post", .InsertionMode = InsertionMode.Replace, .UpdateTargetId = "formSection"})) 
End Using 
<textarea name="message"></textarea> 
<input type="submit" value="send" /> 

Ввод End Using сразу после Используя закрыл блок, конечно, так что входной элемент никогда не попадал в форму.

Правильный синтаксис:

@Using (Ajax.BeginForm("Contact", "Home", New AjaxOptions With {.HttpMethod = "post", .InsertionMode = InsertionMode.Replace, .UpdateTargetId = "formSection"})) 
    @<textarea name="message"></textarea> 
    @<input type="submit" value="send" /> 
End Using 

Было бы хорошо, если сгенерированный код был отформатирован хорошо, я бы видел конечную форму тега расположение гораздо раньше.

Надеюсь, я помогу избежать нескольких ударов головой.

Смежные вопросы