情景就是这样。首先从列表中选择一个或多个玩家,然后单击随机按钮。使用javascript ajax将变量发布到名为 Shuffle 的控制器方法,以从这些变量中生成列表。最后调用 Shuffled 方法将该列表传递到视图中。问题是打印的列表是 null 。
编辑更清晰: Ajax只是将选定的值传递给名为Shuffle
的控制器方法
JS Ajax
$("#shuffleBtn").on("click", function () {
$.ajax({
url: "/Players/Shuffle",
type: "POST",
data: JSON.stringify({ id: arr }),
contentType: 'application/json',
success: function (data) {
console.log(data);
}
});
});
随机
[HttpPost]
public ActionResult Shuffle(int[] id)
{
for (int i = 0; i < id.Length; i++)
{
Player player = db.Player.Find(id[i]);
playerList.Add(player);
}
return Shuffled(playerList);
}
混洗
public ActionResult Shuffled(List<Player> list)
{
ViewData["PlayerList"] = list;
return View(list);
}
视图
@{
ViewBag.Title = "Shuffled";
}
<h1>
list: @ViewData["PlayerList"]
</h1>