Как выполнить привязку модели с помощью Jquery Ajax
-
13-09-2019 - |
Вопрос
Я бы хотел использовать привязку модели, чтобы мои контроллеры выглядели чище, вы можете видеть, насколько приятнее использовать привязку модели:
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)
или a $.ajax(options)
призыв к Create(Person personToCreate)
что объект Person заполняется должным образом?
Решение
Тебе нужно:
- Сделайте так, чтобы имена свойств в data соответствовали аргументу / свойству имен связанных типов.
- Всегда указывайте значение для всех ненулевых аргументов / свойств связанного типа.
Номер 2 является важным с точки зрения того, почему привязка к person может вести себя иначе, чем указание отдельных аргументов действия для каждого свойства.Если у вас есть тип с ненулевым свойством под названием "Foo", то неспособность указать элемент foo в вашей форме предотвратит привязку.