Comment faire le modèle de liaison avec l'Ajax JQuery
-
13-09-2019 - |
Question
Je voudrais utiliser le modèle pour garder mes contraignant contrôleurs recherche propre, vous pouvez voir combien plus agréable, il utilise le modèle de liaison:
public ActionResult Create(Person personToCreate)
{
//Create person here
}
vs
public ActionResult Create(string firstName, string lastName, string address, string phoneNum, string email, string postalCode, string city, string province, string country)
{
//Create person here
}
Lorsque le modèle faisant la liaison, nous pouvons simplement utiliser un formulaire avec le nom correct dans le Html.TextBox("")
Qu'en est-jquery? Comment puis-je faire en sorte que quand je fais un $.post(url, data, callback, dataType)
ou un appel $.ajax(options)
à Create(Person personToCreate)
que l'objet Person est rempli correctement?
La solution
Vous devez:
- les noms de propriétés dans les données correspondent à l'argument / propriété des noms de type liés.
- fournir toujours une valeur pour tous les arguments non-nullables / propriétés de type lié.
numéro 2 est le grand en termes de savoir pourquoi la liaison à une personne peut se comporter différemment que de spécifier des arguments d'action individuels pour chaque propriété. Si vous avez un type avec une propriété non annulable appelé « Foo », puis ne pas fournir un élément de foo dans votre formulaire empêchera la liaison.