Tengo mi forma de la siguiente maneraAsp.Net MVC Ajax.BeginForm no está sometiendo a través de Ajax
<div id="contact-form" class="hidden" title="Online Request Form">
@Using (Ajax.BeginForm("Contact", "Main",
Nothing,
New AjaxOptions With {.UpdateTargetId = "status", .HttpMethod = "post"},
New With {.id = "contactUs"}))
@<div>
@Html.LabelFor(Function(m) m.Name)<br />
@Html.TextBoxFor(Function(m) m.Name)<br />
@Html.LabelFor(Function(m) m.Phone)<br />
@Html.TextBoxFor(Function(m) m.Phone)<br />
@Html.LabelFor(Function(m) m.Email)<br />
@Html.TextBoxFor(Function(m) m.Email)<br />
@Html.LabelFor(Function(m) m.Question)<br />
@Html.TextAreaFor(Function(m) m.Question)<br />
@Html.LabelFor(function(m) m.Security)<br />
@Html.TextBoxFor(Function(m) m.Security)<br />
<noscript>
<input type="submit" name="submit" value="Ok" />
</noscript>
@Html.ValidationSummary("Oops, please correct the errors.")<span id="status">@TempData("status")</span>
</div>
End Using
</div>
Y estoy abrirlo en un jQuery-UI ventana modal
<script>
$(function() {
// Open the modal dialog from the div.contact-us click event
$('#contact-us').click(function() {
$('#contact-form').dialog('open');
return false;
});
// Manage the modal dialog behavior.
$('#contact-form').dialog({
modal: true,
autoOpen: false,
buttons: {
Cancel: function() {
$(this).dialog('close');
},
Ok: function() {
$('form#contactUs').trigger('submit');
}
}
});
});
</script>
cuando hago clic en el botón "OK", que es la publicación al controlador adecuado, sin embargo, no es la publicación a través de AJAX
''# fix the StackOverflow code coloring issue.
<HttpPost()>
Function Contact(ByVal contactForm As Models.ContactForm) As ActionResult
ViewData("Testimonials") = Helpers.GetTestimonials
If ModelState.IsValid Then
''# Submit the email
TempData("status") = "Thank you, we will be in touch"
Else
''# Return False
TempData("status") = "Oops, please correct the errors."
End If
If Request.IsAjaxRequest Then
Return Content(TempData("status").ToString)
Else
Return View("Index")
End If
End Function
¿Qué estoy haciendo mal? Después de enviar el formulario, mi URL es http://example.com/Main/Contact que me dice que IsAjaxRequest = false
EDITAR
Incluso cuando no uso el botón jquery-ui "ok" y simplemente añadir <input type="submit" name="submit" value="Ok" />
a la forma, la forma mensajes sin Ajax
Mirando hacia adelante al día en que stackoverflow puede sintaxis Razor apropiadamente color. –