Я передаю viewmodel для создания вида, в котором я выбираю несколько свойств из выпадающего списка, а затем создаю новую модель в базе данных.Проблема в том, что мне нужно выбрать продукт из выпадающего списка и после нажатия кнопки добавить продукт в список (который определен в модели).Вы можете увидеть код ниже, у меня проблема с передачей идентификатора продукта, поскольку он всегда нулевой
SellsViewModel:
public class SellsViewModel
{
public List<Center> center { get; set; }
public List<Leader> leader { get; set; }
public List<Member> member { get; set; }
public List<Group> group { get; set; }
public Sell sell { get; set; }
public Guid productSelection { get; set; }
public IEnumerable<Product> product { get; set; }
public IEnumerable<Product> selectedProducts { get; set; }
}
Create.cshtml
@model Medical.ViewModels.SellsViewModel
@{
var addproduct = Model.product.Select(product => new SelectListItem
{
Text = product.Name,
Value = product.Id.ToString()
});
}
...
<div class="form-group">
<div align="right" class="col-md-2">
<b>Delivery</b>
</div>
<div align="center" class="col-md-2">
@Html.DropDownListFor(m => m.productSelection, addproduct, "-- Choose product --")
</div>
<div class="col-md-2">
<a asp-action="AddProducttoSell" method="post" asp-route-id="@Model.productSelection" class="btn btn-primary">Add</a>
</div>
</div>
Контроллер:
[HttpGet]
public IActionResult AddProducttoSell(Guid id)
{
var sProduct = _context.Products.FirstOrDefault(p => p.Id == id);
svm.selectedProducts.ToList().Add(sProduct);
return RedirectToAction(nameof(Create));
}
По сути, я хочу, чтобы при выборе товара в представлении я добавлял его в список selectedProducts в viewmodel, а затем возвращал его для просмотра.После этого я отправлю новую модель в базу данных.