#c# #asp.net #asp.net-mvc
#c# #asp.net #asp.net-mvc
Вопрос:
Я передаю список из моего контроллера в мое представление, а затем внутри формы я перебираю каждый элемент списка и отображаю его с некоторыми текстовыми полями, которые заполнены значением для каждого элемента. И затем я хочу отправить все текстовые поля контроллеру, но он возвращает null для него.
вот моя модель:
public class DataRedpack
{
public string IdRedpack { get; set; }
//and other properties...
}
и вот мое мнение:
@model IEnumerable<SisFoPengelolaanPengirimanBarang.Models.DataRedpack>
@using (Html.BeginForm("InsertRedpack", "Admin", FormMethod.Post))
{
foreach (var item in Model)
{
@Html.Hidden("IdRedpack", item.IdRedpack)
@Html.TextBox("AmountPack", null, new { type = "number", @class = "form-control", @name = "AmountPack", @min=1, @max=50 })
}
}
оно передает null моему контроллеру:
public ActionResult InsertRedpack(List<string> IdRedpack, List<int> AmountPack) //it returing null on this
{
if (IdRedpack.Any() amp;amp; AmountPack.Any()) //and got exception on this
{
//updating redpack with id and so on...
}
}
Мне нужна помощь, как это понять
Ответ №1:
Добавьте «name» для каждого элемента в цикле, например «IdRedpack[0]» . замените переменную индекса в каждом цикле. Также измените свой метод действия контроллера, например.
public ActionResult InsertRedpack(IEnumerable<SisFoPengelolaanPengirimanBarang.Models.DataRedpack> model)
{
//Validate your model here
}
Комментарии:
1.
Textbox
и Hidden заменены наTextboxFor
иHiddenFor
и изменить каждый элемент на свойства модели внутри этого тоже?