У меня есть действие контроллера MVC с параметром inputModel, у которого есть свойство типа списка, и I, m, используя $('form').serialize()
для сериализации содержимого формы и добавления некоторых моих пользовательских данных в сериализованную строку, но внутри объекта модели ввода метода действия свойство list пусто, Может ли один помочь мне, ниже примеры кодаКак сопоставить Mvc Просмотр данных модели и ajax, имеющих свойство списка?
Мой контроллер
[HttpPost]
public ActionResult Edit(ALDS.Web.Areas.Direct2M3.Models.ItemInputModel collection)
{ }
ItemInputModel класс
public class ItemInputModel
{
//......Some property here..
public List<FabricCompositionInputModel> FabricCompositions { get; set; }
}
FabricCompositionInputModel класса
public class FabricCompositionInputModel
{
public int ItemID { get; set; }
public string CompositionCode { get; set; }
public decimal Value { get; set; }
}
Ajax вызов
function save() {
var compositionData = generateCompositionForSave(); //Returns array
var data = $('form').serialize();
var d2 = JSON.stringify(compositionData);
var data2 = data + '&FabricCompositions=' + d2;
$.ajax({
type: 'POST',
dataType: 'json' ,
cache: false,
url: '/ItemMaster/Edit',
data: data2,
success: function (data, textStatus, jqXHR) {
sucess(data);
},
error: function (jqXHR, textStatus, errorThrown) {
failed(jqXHR);
}
});
}
Массив производящей функции
function generateCompositionForSave() {
var arr = [];
var delClassList = $('#compositionContainer').find('.btnRemoveCompositions');
for (var c = 0; c < delClassList.length; c++) {
var row = $(delClassList[c]).closest('.row');
var code = row.find('.compositionCode').val();
var value = parseInt(row.find('.compositionValue').val());
arr.push({ItemID:0, CompositionCode:code, Value:value});
}
return arr;
}
Вы не можете комбинировать данные из '.serialize();' и такого массива. Если вы создали, вы в первую очередь формируете элементы управления из элементов коллекции, '.serialize()' - это все, что требуется. Показывать часть представления, которая генерирует эти элементы управления формы. –