У меня есть форма с гарантийным списком продукта.Почтовый сбор выбранных значений действию сервера
У каждого элемента списка есть флажок.
Как я могу опубликовать список SelectecSources (гарантий) на сервер?
Что мне нужно изменить в этом коде?
Объект WarrantyPlusViewModel размещен на сервере. Он содержит список SelectedSources, который должен содержать выбранные статьи гарантии.
Возможно ли вообще использовать сложный объект для выбранного списка?
Рассмотрим я должен вывесить WarrantyPlusViewModel на сервер, который включает в себя
свойство SelectedSources с выбранными гарантийных объектов.
@model WarrantyPlusViewModel
<div class="row">
<div class="col-md-10 col-md-offset-1">
@using (...)
{
<table class="table table-striped">
<tr>
<th></th>
<th>@Html.DisplayFor(m => m.ProductSelected.Name)</th>
<th>@Html.DisplayFor(m => m.ProductSelected.Description,l)</th>
<th>@Html.DisplayFor(m => m.ProductSelected.Price)</th>
</tr>
@foreach (var product in Model.ProductList)
{
<tr>
<td><input type="checkbox" name="SelectedSources" value="@product" /></td>
<td>@product.Name</td>
<td>@product.Description</td>
<td>@product.Price</td>
</tr>
}
</table>
<input type="submit" value="Save" />
@Html.HiddenFor(p => p.SerialNumber)
}
</div>
[HttpPost]
public virtual async Task<ActionResult> Save(WarrantyPlusViewModel viewModel)
{
return View(MVC.WarrantyPlus.WarrantyPlus.Views.OverviewWarrentyPlus, viewModel);
}
public class WarrantyPlusViewModel
{
// other properties
public List<WarrantyPlusProductViewModel> ProductList { get; set; }
public IEnumerable<WarrantyPlusProductViewModel> SelectedSources { get; set; }
}
Я просто нашел эту статью: http://www.codeproject.com/Articles/706728/ASP-NET-MVC-Display-a-HTML-Table-with-Checkboxes Я надеюсь, что это сработает, но, быстро прочитав статью, кажется, что я предлагаю то, что мне нужно, что вы думаете? – Elisabeth
Я решил его с помощью @foreach и и вид на стороне сервераModel: public int [] SelectedIds {get; задавать; } – Elisabeth