1

问题:为什么在下面的控制器动作方法中没有收到数据?请让我知道我在下面的编码中错过了什么。

我的观点

    <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; }
       }
     }
4

1 回答 1

3

公开视图模型上的属性,否则默认模型绑定器将忽略它们:

public class Person
{
    public int Id { get; set; }
    public string Name { get; set; }
}
于 2013-06-28T06:47:13.947 回答