【发布时间】:2016-05-11 16:17:33
【问题描述】:
我正在使用 ajax 发布数据,并且已成功发布。在控制器端,我正在用发布的数据填充 ViewBag,但我在从 ViewBag 获取数据时遇到问题。
这是 Ajax 代码:
$.ajax({
type: "POST",
url: '../Home/getExistUsersFromJSON',
data: JSON.stringify({ jsonString: JSON.stringify(array) }),
traditional: true,
contentType: "application/json; charset=utf-8",
dataType: "json",
complete: function () {
// Alert that it was succesful!
var jsonList = '@Html.Raw(Json.Convert(ViewBag.newUsers))';
var jsList = JSON.parse(jsonList);
bootbox.dialog({
message: jsList,
title: "Utilisateurs",
buttons: {
success: {
label: "Success!",
className: "btn-success"
}
}
});
}
});
这是控制器端
[ActionName("getExistUsersFromJSON")]
public void getExistUsersFromJSON(string jsonString)
{
IList<newUser> ctm =
new JavaScriptSerializer().Deserialize<IList<newUser>>(jsonString);
ViewBag.newUsers = ctm.ToList();
}
【问题讨论】:
-
你为什么要传递一个只包含另一个 JSON 字符串的 JSON 对象?您应该直接传递数组。
-
当我直接传递数组时,我收到错误请求的错误。这是将 JSON 数组传递给控制器的唯一方法
-
您是否阅读了错误信息?您的操作中可能有错误的参数。
-
如果是这种情况,当我用 jsonString 中传递的 JSON 数据填充 IList
时会出现错误
标签: c# jquery .net ajax asp.net-mvc