【发布时间】:2016-09-02 17:57:45
【问题描述】:
我正在尝试将变量从我的视图发送到控制器,以便我可以在不同的视图中使用它。我已经阅读了几个如何做到这一点的示例,但是我无法让它发挥作用。
这是我的模型:
public class GameResultsViewModel
{
public int p { get; set; }
}
我的控制器操作:
[HttpPost]
public IActionResult EndScreen(GameResultsViewModel results)
{
return null;
}
Javascript 函数:
function submitResults() {
var model = new Object();
model.p = 3;
jQuery.ajax({
type: "POST",
url: "@Url.Action("EndScreen")",
dataType: "json",
contentType: "application/json; charset=utf-8",
data: JSON.stringify({ results: model }),
success: function() {
alert("yay");
},
failure: function() {
alert("nope");
}
});
}
我从一个简单的输入调用这个函数:
<input type="button" value="Click" onclick="submitResults()" />
当我单击按钮时,它转到操作,但变量始终为 0。我错过了什么吗?
【问题讨论】:
-
您只需要
data: { p: 3 },并删除contentType:选项。
标签: asp.net json ajax asp.net-mvc model-binding