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 に答える