Я начинающий программист, поэтому, пожалуйста, простите меня, если некоторые из моих "жаргонов" неверны. У меня есть проект с использованием ASP.NET с использованием среды MVC3.
Я работаю над административным представлением, в котором администратор изменит список оборудования. Одной из функций является кнопка "Обновить", которую я хочу использовать jquery для динамического редактирования записи на веб-странице после отправки сообщения контроллеру MVC.
Я предполагаю, что этот подход "безопасен" в одном административном настройке, где минимальная проблема с веб-страницей, выходящей из синхронизации с базой данных.
Я создал представление, которое строго типизировано, и надеялось передать данные модели в элемент управления MVC, используя пост AJAX.
В следующем посте я нашел то, что похоже на то, что я ищу: JQuery Ajax и ASP.NET MVC3, вызывающие нулевые параметры
Я буду использовать образец кода из вышеприведенного сообщения.
Модель:
public class AddressInfo
{
public string Address1 { get; set; }
public string Address2 { get; set; }
public string City { get; set; }
public string State { get; set; }
public string ZipCode { get; set; }
public string Country { get; set; }
}
Контроллер:
public class HomeController : Controller
{
public ActionResult Index()
{
return View();
}
[HttpPost]
public ActionResult Check(AddressInfo addressInfo)
{
return Json(new { success = true });
}
}
script в представлении:
<script type="text/javascript">
var ai = {
Address1: "423 Judy Road",
Address2: "1001",
City: "New York",
State: "NY",
ZipCode: "10301",
Country: "USA"
};
$.ajax({
url: '/home/check',
type: 'POST',
data: JSON.stringify(ai),
contentType: 'application/json; charset=utf-8',
success: function (data.success) {
alert(data);
},
error: function () {
alert("error");
}
});
</script>
У меня еще не было возможности использовать приведенное выше. Но мне было интересно, если бы это был "лучший" способ передать данные модели обратно в элемент управления MVC с помощью AJAX?
Должен ли я беспокоиться о том, чтобы разоблачить информацию о модели?