问题: 为什么下面的控制器操作方法没有收到数据? 请让我知道我在下面的编码中错过了什么。
我的观点
<script src="~/Scripts/jquery-1.5.1.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function () {
$("#MyLink").click(function () {
$.ajax({
type: "POST",
url: "/Home/Index",
data: JSON.stringify({ person: {
id: 11,
Name: "MyName"
}
}),
contentType: "application/json; charset=utf-8"
});
});
});
</script>
<a href="#" id="MyLink">Click Here</a>
我的控制器
[HttpPost]
public ActionResult Index(Person person)
{
ViewBag.Message = "Welcome to ASP.NET MVC!";
return View();
}
我的模特
using System;
using System.Web;
namespace MvcApplication1.Models
{
public class Person
{
int id { get; set; }
string Name { get; set; }
}
}
答案 0 :(得分:3)
将视图模型上的属性设置为public或默认模型绑定器将忽略它们:
public class Person
{
public int Id { get; set; }
public string Name { get; set; }
}