Как сделать привязку модели с помощью Jquery Ajax - PullRequest
5 голосов
/ 14 июля 2009

Я бы хотел использовать привязку модели, чтобы мои контроллеры выглядели чище, вы можете видеть, насколько лучше она работает, используя привязку модели:

public ActionResult Create(Person personToCreate)
{
    //Create person here
}

против

public ActionResult Create(string firstName, string lastName, string address, string phoneNum, string email, string postalCode, string city, string province, string country)
{
    //Create person here
}

При выполнении привязки модели мы можем просто использовать форму с правильными именами в Html.TextBox("")

А как насчет jquery? Как я могу убедиться, что при выполнении $.post(url, data, callback, dataType) или $.ajax(options) вызова Create(Person personToCreate) объект Person будет заполнен правильно?

1 Ответ

4 голосов
/ 14 июля 2009

Вам необходимо:

  1. Привести имена свойств в данных в соответствие аргументу / свойству имен связанных типов.
  2. Всегда указывайте значение для всех ненулевых аргументов / свойств связанного типа.

Номер 2 является основным с точки зрения того, почему привязка к человеку может вести себя иначе, чем указание отдельных аргументов действия для каждого свойства. Если у вас есть тип с ненулевым свойством под названием «Foo», то невозможность указать элемент foo в вашей форме предотвратит связывание.

...