我在应用程序中使用 Jquery 1.6.1 和 JQuery UI 可排序,并注意到 JSON 模型绑定(bind)停止工作。我必须将 $.ajax 的“传统”参数设置为 true 才能使其正常工作。
$('.tracks').sortable({
update: function (event, ui) {
var order = $(this).sortable('toArray');
$.ajax({
url: '/controller/action/',
type: 'post',
traditional: true, // For model binding to work
data: { 'order': order }
});
}
});
我的 Controller
[HttpPost]
public ActionResult Order(string[] order)
{
return new EmptyResult();
}
显然,JQuery 改变了使用数组时 post 变量名称的形成方式,在末尾添加了 []。这一变化显然是针对 PHP 和 Ruby 用户的。
是否可以在当前的 ASP.NET MVC 代码中进行简单的更改,以使模型绑定(bind)能够在不使用传统方式的情况下工作?
最佳答案
不,但你可以这样做:
jQuery.ajaxSettings.traditional = true;
在您的母版页中(如果您使用它们)
关于jquery - 使用 JQuery $.ajax 进行 JSON 模型绑定(bind),无需将传统设置为 true,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6470146/