I have the following view and I want to send list of object from view to controller and I used asp-for tag helper for data binding but action in controller receives null
@model IEnumerable<GoodsList>
<form method="post" asp-action="SubmitList" asp-controller="Submit">
<table class="table table-bordered">
<thead>
<tr>
<th width="2%">number</th>
<th width="20%">Name</th>
<th width="20%">Brand</th>
<th width="20%">Quantity</th>
<th width="20%">Scale</th>
<th width="8%">operation</th>
</tr>
</thead>
<tbody>
@foreach (var item in Model)
{
<tr>
<td>@item.Number</td>
<td><input type="text" readonly="readonly" asp-for="@item.GoodsName" class="form-control" /></td>
<td><input type="text" readonly="readonly" asp-for="@item.BrandName" class="form-control" /></td>
<td><input type="text" readonly="readonly" asp-for="@item.Quantity" class="form-control" /></td>
<td><input type="text" readonly="readonly" asp-for="@item.ScaleName" class="form-control" /></td>
<td>
<select class="form-control" asp-items="@(new SelectList(item.Status,"Id","Name"))">
</select>
</td>
</tr>
}
<tr>
<td colspan="6">
<textarea class="form-control" rows="3" readonly="readonly" cols="5">@Model.Select(s => s.Description).First()</textarea>
</td>
</tr>
</tbody>
</table>
<a class="btn btn-primary">Back</a>
<input type="submit" value="Submit" class="btn btn-success" style="width:auto">
</form>
And Here is my controller which receives null
[HttpPost]
//It receives null
public IActionResult SubmitList(IEnumerable<GoodsList> model)
{
return View();
}
And the Model
public class GoodsList
{
public GoodsList()
{
Status = new List<ApprovalStatus>();
}
public int Number { get; set; }
public string GoodsName { get; set; }
public string BrandName { get; set; }
public int? Quantity { get; set; }
public string UserName { get; set; }
public string RankName { get; set; }
public int? RequestId { get; set; }
public string ScaleName { get; set; }
public IList<ApprovalStatus> Status { get; set; }
}
Any solution?
Thanks in advance