我正在使用$.post()
向控制器发布整数值数组。传递给收到的控制器的数组为空NULL
下面是如何构建我的数组:
var ratings = [];
$('#ratings input[name=newReviewRatings]').each(function() {
ratings.push($(this).val());
});
这里是我如何将它发布到控制器:
$.post('@Url.Action("CreateReview", "Provider")',
{
id: providerId,
ratings: ratings,
comment: comment
});
下面是被贴在表格数据:
{id = 437baf29-4196-4966-88de-a8fde87ef68d &评分%5b%5d = 1 &评分%5b%5d = 2 &个收视%5B%5D = 3个&收视%5B%5D = 4个&收视%5B%5D = 5 &评论=评论}
这是我的控制器签名:
public ActionResult CreateReview(Guid id, int[] ratings, string comment)
{
// ....
}
这似乎像这应该是正确的,但ratings
始终为空。任何人都可以看到我失踪的东西吗?
我也试过string[] ratings
并得到了同样的结果。我也看到一个建议,使用JSON.stringify(ratings)
来传递数组,但是这似乎也没有帮助。
可能重复http://stackoverflow.com/questions/5785428/in-asp-net-mvc-how -can-i-pass-an-array-of-integers-as-a-parameter) – BNL
@BNL没有冒犯,但我不认为这是完全重复的。 –