Как создать вид редактирования для списка?
Ниже приведен пример вида и модели для одного элемента, который работает правильно.Следующий вопрос, у меня есть список элементов, которые я хочу редактировать.Как мне провести это?
Модель:
public partial class ProductViewModel
{
public int ProductId { get; set; }
public string ProductName { get; set; }
public string ProductDescription { get; set; }
public string ImageLocation { get; set; }
}
Успешный просмотр:
@model ProductViewModel
@{
ViewData["Title"] = "Edit";
}
<h2>Edit</h2>
<h4>Product</h4>
<hr />
<div class="row">
<div class="col-md-4">
<form asp-action="Edit">
<div asp-validation-summary="ModelOnly" class="text-danger"></div>
<input type="hidden" asp-for="ProductId" />
<div class="form-group">
<label asp-for="ProductName" class="control-label"></label>
<input asp-for="ProductName" class="form-control" />
<span asp-validation-for="ProductName" class="text-danger"></span>
</div>
<div class="form-group">
<label asp-for="ProductDescription" class="control-label"></label>
<input asp-for="ProductDescription" class="form-control" />
<span asp-validation-for="ProductDescription" class="text-danger"></span>
</div>
<div class="form-group">
<input type="submit" value="Save" class="btn btn-default" />
</div>
</form>
</div>
</div>
Теперь яу меня есть модель со списком элементов, как мне получить к ним доступ в представлении?Я хочу изменить все элементы в моей корзине, в частности, количество.Попытка правильно вызвать запросы linq делегата.
Ошибка:
Имя modelItem не существует в текущем контексте.
Модель:
using System.Collections.Generic;
public class ShoppingCart : List<CartLine>
{
public ShoppingCart() { }
public ShoppingCart(IEnumerable<CartLine> collection) : base(collection) { }
public ShoppingCart(int capacity) : base(capacity) { }
}
public class ShoppingCartViewModel
{
public ShoppingCart ShoppingCart { get; set; }
public string ReturnUrl { get; set; }
}
public class CartLine
{
public int CartLineId { get; set; }
public Product Product { get; set; }
public int Quantity { get; set; }
}
Вид не работает, ошибка ниже при типе ввода и далее:
@model ShoppingCartViewModel
@{
ViewData["Title"] = "Index";
}
<h2>Edit Shopping Cart</h2>
<h4>edit</h4>
<hr />
<div class="row">
<div class="col-md-4">
@foreach (var item in Model.ShoppingCart)
{
<form asp-action="Edit">
<div asp-validation-summary="ModelOnly" class="text-danger"></div>
<input type="hidden" asp-for="modelItem=>item.CartLineId" />
<div class="form-group">
<label asp-for="modelItem=>item.Product.ProductName" class="control-label"></label>
<input asp-for="modelItem=>item.Product.ProductName" class="form-control" />
<span asp-validation-for="modelItem=>item.Product.ProductName" class="text-danger"></span>
</div>