Я очень плохо знаком с ASP. NET и веб-приложениями в целом. Я пытаюсь создать приложение, которое отображает количество материалов с помощью селектора количества через RadioButtons для каждого материала. Тем не менее, я не могу заставить кнопки радио работать правильно. Я могу выбрать только 1 кнопку в целом, а не 1 для каждого материала.
Мой MaterialController с несколькими материалами:
public class MaterialController : Controller
{
// GET
public ActionResult Index()
{
var materials = from e in GetMaterialList()
orderby e.Id
select e;
return View(materials);
}
[NonAction]
public List<Material> GetMaterialList()
{
return new List<Material>
{
new Material {Id = 1, Name = "Material 1", Quantity = 0, Quantities = new []{0, 50, 100, 200}},
new Material {Id = 2, Name = "Material 2", Quantity = 0, Quantities = new []{0, 50, 100, 200}},
new Material() {Id = 3, Name = "Material 3", Quantity = 0, Quantities = new []{0, 50, 100, 200}},
new Material() {Id = 4, Name = "Material 4", Quantity = 0, Quantities = new []{0, 50, 100, 200}}
};
}
}
Моя модель:
public class Material
{
public int Id { get; set; }
public string Name { get; set; }
public int Quantity { get; set; }
public int[] Quantities { get; set; }
}
Соответствует часть моего взгляда:
@model IEnumerable<MaterialOrders.Models.Material>
...
@foreach (var item in Model)
{
<div class="col-md-6">
<div class="col-md-6">
@Html.DisplayFor(modelItem => item.Name)<br/>
</div>
<div class="col-md-6">
@foreach (var quant in item.Quantities)
{
@Html.RadioButtonFor(model => item.Quantity, quant)
@quant<br/>
}
</div>
</div>
}
Я думаю, что ошибка во втором foreach l oop, но я не знаю, как сделать это правильным образом. Спасибо.