supposons que vous avez la forme suivante:
<form id="ajax-form">
<fieldset>
<input type="text" id="firstname" name="firstname" />
<input type="text" id="lastname" name="lastname" />
<input type="submit" value="send" />
</fieldset>
</form>
utilisant jQuery
$(document).ready(function(){
$("#ajax-form").submit(function(){
$.ajax({
type: "POST",
url: "Person/Add",
data: $("#ajax-form").serialize(),
success: function (response) {
// whatever you want to happen on success
},
error: function (response) {
alert('There was an error.');
}
});
});
});
Accès à vos données dans la méthode Action.
public ActionResult Add(FormCollection form)
{
string firstname = form["firstname"];
string firstname = form["lastname"];
// do whatever you want here
// then return something to the view
return Json(/*some object*/);
}
une autre façon est d'utiliser Microsoft Ajax
<% using (Ajax.BeginForm("Add", "Person",
new AjaxOptions() {
UpdateTargetId = "formDiv",
InsertionMode = InsertionMode.Replace,
HttpMethod = "Post" })) {%>
<fieldset>
// Form Elements Here.
</fieldset>
<% } %>
UpdateTargetId
est l'id de l'élément HTML à cibler. L'option InsertionMode a trois valeurs Replace
, InsertAfter
, InsertBefore
Espoir qui a été utile
Mise à jour: vous ne devez pas retourner un résultat JSON dans votre méthode d'action, vous pouvez simplement retourner une vue partielle ou n'importe quel code HTML en tant qu'objet de réponse, puis insérez-le en utilisant jQuery.
Super !!! Merci beaucoup!!! – Lorenzo
Glad je peux aider :) –