我今天花了 8 个小时左右试图解决这个问题。我查看了很多解决方案,但无法获得相同的结果。我有一种预感,这与对 ASP.Net 相对较新有关。
这是我尝试模仿但没有运气的最新问题。 https://stackoverflow.com/questions/10007722/post-array-as-json-to-mvc-controller# =
如何使用 JSON、jQuery 将一组复杂对象发布到 ASP.NET MVC 控制器?
问题的基本概要:我有一个 json 对象数组,我想传递给我的控制器。当我传递它显示的数据时,可以说例如 3 个项目,但它们的值没有传递,或者它只是显示什么都没有传递。Firebug 显示它通过了它,所以我假设某些东西设置不正确,并且它不允许它在 C# 端正确设置该变量。
我已经尝试了一些事情并在下面列出它们: 设置 1:我尝试模拟我在第二个链接中看到的内容:
$.ajax({
type: 'Post',
cache: false,
url: '/Workflow/Home/UpdateStepPositions',
data: { 'steps': ['1','2','3'] },
async: false,
success: function (data) {
console.debug(data);
},
error: function (data) {
console.debug(data);
}
});
Controller
[HttpPost]
public ActionResult UpdateStepPositions(string[] steps){
var bresults = new {
Success = false,
Message = "Unable to update step positions."
};
return Json(bresults);
}
我什至无法让那个简单的设置工作..它到达了函数并显示没有任何通过....
设置 2:
list = new Array();
list.push({ "step": 1, "position": 1 });
list.push({ "step": 2, "position": 2 });
list.push({ "step": 3, "position": 3 });
$.ajax({
type: 'Post',
cache: false,
url: '/Workflow/Home/UpdateStepPositions',
data: JSON.stringify({ 'steps': list }),
async: false,
success: function (data) {
console.debug(data);
},
error: function (data) {
console.debug(data);
}
});
Controller
[HttpPost]
public ActionResult UpdateStepPositions(List<UpdatedSteps> steps){
var bresults = new {
Success = false,
Message = "Unable to update step positions."
};
return Json(bresults);
}
Class
public class UpdatedSteps {
public string Step { get; set; }
public string Position { get; set; }
}
任何人都可以照亮我所缺少的东西或指出我正确的方向吗?希望它是简单的,只是一个新手错误!