如何使数组值在C#MVC控制器中可读

问题描述 投票:0回答:1

我有带有数组值的特定输入字段,但是当我将其传递到控制器中时,特定字段仅不具有[对象]任何值,但是当我输出到console.log中时,所有值都在其中。这是我的代码

function fLDetails() {
        flIntinerary = $("[name='Itinerary']").map(function () {
            return {
                itinerayTitle: $(this).find("input[name='ItineraryTitle']").val(),
                itinerayDes: $(this).find("textarea[name='ItineraryDes']").val()
            };
        });
        $("#primaryItineraryName").val(flIntinerary);
    }




$("#btnPackageSave").click(function (e) {
        e.preventDefault(e);
        fLDetails();
        var packageForm = $("#packageForm");
        if (!packageForm.valid()) {
            return false;
        }
        var url = packageForm.attr("action");
        var fromData = packageForm.serialize();
        $.post(url, fromData, function (data) {
        });
    });

控制器

[![\[HttpPost\]
        public ActionResult AddPackage(TourPackage package)
        {

            if (ModelState.IsValid)
            {

            }
            return View();
        }

MY form screenshot

controller output

c# jquery asp.net-mvc asp.net-ajax
1个回答
0
投票

在每次单击按钮时,您都将值添加到数组中:假设所有数组值都在flIntinerary

 var postData = { values: flIntinerary}; 

因此通过ajax传递postData

然后您的模型必须像

public TourPackage {
    public list<string> values {get; set;}
}

和控制器就像:

 public ActionResult AddPackage(TourPackage postData)
        {

            if (ModelState.IsValid)
            {

            }
            return View();
        }
© www.soinside.com 2019 - 2024. All rights reserved.