0

Ajax Call ($.ajax) を使用して ASP.NET MVC RAZOR から ActionResult (コントローラー上) にデータのリストを送信しようとしましたが、コントローラー (サーバー側) では ActionResult のパラメーターが NULL です。

//ajax call
     $.ajax({
        url: "@Url.Content("~/DayPartConfig/Index")",
        type: "POST",
        cache: false,
        data: myItems,
        success: function(data){                 
               alert('success');          
        },
        error: function () {
            alert('Error updating the time interval.');
        },
        complete: function(){
            //hide preloader   
            alert('preloader');    
        }
    });

myItems のプロパティの名前と構造は DayPart と同じです。

 public partial class DayPart
    {
        public DayPart()
        {
            this.EventGoalDayParts = new HashSet<EventGoalDayPart>();
        }

        public int DayPartID { get; set; }
        public int Position { get; set; }
        public string Name { get; set; }
        public bool IsEnable { get; set; }
        public Nullable<System.TimeSpan> Start { get; set; }
        public Nullable<System.TimeSpan> End { get; set; }

        public virtual ICollection<EventGoalDayPart> EventGoalDayParts { get; set; }
    }

そしてJavaScriptから:

for (i = 1 ; i<= @Model.Count()-1;i++)
{
 CreatedItem = {'DayPartID': i,
                'Position': i,
                'Name': $("#Name_"+i).val(),
                'IsEnable': $("#IsEnable_"+i).val(),
                'Start': $('#timepicker-'+ i).val()
                };
    myItems[i] = CreatedItem;
    //alert(myItems[i]);
}

そして今、なぜコントローラーからのモデルがnullなのですか????

 [HttpPost]
    public ActionResult Index(List<DayPart> model)
    {
...
}
4

1 に答える 1

1

この記事はきっとあなたの役に立ちますMVC Model Binding to List of Complex Objects

http://seesharpdeveloper.blogspot.in/2012/05/mvc-model-binding-to-list-of-complex.html

于 2013-10-16T13:11:39.127 に答える