use*_*430 5 c# asp.net-mvc asp.net-core
我有一个将模型返回到View的操作IEnumerable<T>
。在视图中,我使用foreach遍历列表。T类型具有一个称为Amount的属性。
现在,当我单击SAVE
按钮时,我想将模型(IEnumerable)发布到操作中。IEnumerbale项目,其属性Amount
应包含正确的值。
当我提交操作时,该模型为null。
为了测试IEnumerable<T>
是IEnumerable<Produt>
public class Product
{
public string Title { get; set; }
public int Amount { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
查看展示产品:
@model IEnumerable<Product>
<form asp-controller="Home" asp-action="Order" method="post" role="form">
@foreach (var product in Model)
{
<div>
<span>@product.Title</span>
<input asp-for="@product.Amount" type="text">
</div>
}
<button type="submit">SAVE</button>
</form>
Run Code Online (Sandbox Code Playgroud)
控制器后动作:
[HttpPost]
public async Task<IActionResult> Order(IEnumerable<Product> model)
{
}
Run Code Online (Sandbox Code Playgroud)
问题出@model IEnumerable<Product>
在视图上。我将其更改为 List 并使用 for 循环:
@model List<Product>
<form asp-controller="Home" asp-action="Order" method="post" role="form">
@for (int i = 0; i < Model.Count(); i++)
{
<div>
<span>@Model[i].Title</span>
<input asp-for="@Model[i].Amount" type="text">
</div>
}
Run Code Online (Sandbox Code Playgroud)
节省
归档时间: |
|
查看次数: |
5211 次 |
最近记录: |