2013-05-28 6 views
-2

J'ai un formulaire lié à un modèle. Lorsque l'utilisateur clique sur un lien pour quitter cette page, je souhaite enregistrer le modèle entier dans une base de données. Je me demande comment j'appellerais un événement jquery sur un clic de lien qui enverrait le modèle entier à une fonction de contrôleur. Je vous remercie!asp.net mvc jquery enregistrement du modèle

+0

Avez-vous essayé quoi que ce soit, ce qui est extrêmement commune. – Gabe

+0

Ceci est quelque chose qu'un tutoriel devrait être en mesure de vous aider. Cette question est trop vague pour répondre en général. Essayez cet exemple: http://www.akhildeshpande.com/2011/08/simple-jquery-post-example-with-aspnet.html –

+0

Désolé d'être trop vague. Si un utilisateur remplit un formulaire, puis clique sur un lien vers une autre partie d'un site, je souhaite enregistrer toutes les données qu'ils ont saisies dans la base de données avant de quitter la page. Comme j'utilise la liaison de modèle, j'ai supposé que je devrais avoir un événement JQuery qui sérialiserait mon modèle et l'enverrait à un contrôleur sur le serveur afin de l'enregistrer dans l'action du contrôleur. –

Répondre

1

Ajax:

var form = $('form#formId'); 
$.ajax({ 
    url: ".../ControllerName/ActionName", 
    type: 'POST', 
    data: form.serialize(),   
    success: function (response) { 
     if (!response.ErrorMessage) { 
      alert(response.ErrorMessage); 
      return; 
     } else { 
      alert("Succesful."); 
     } 
    }, 
    error: function (error, textstatus) { 
     alert(JSON.stringify(error));    
    } 
}); 

d'action:

public JsonResult ActionName(ModelClassName object) 
{ 
    try{ 
     .... 
    } 
    catch(Exception e) 
    { 
     return Json(new { ErrorMessage = e.Message}); 
    } 

    return Json(new { Success = true }); 
}