При передаче модели представления (как показано ниже) в представление, как я могу гарантировать, что создаваемые мной флажки (сопоставленные с элементом "Продукт" здесь) передаются обратно в контроллер?
Ниже я включил мою модель представления и контроллер продукта "post".
К сожалению, при отправке обратно на контроллер «Продукты» не имеют значения.
namespace MyProject.Models
{
public class ChartViewModel
{
public Chart ChartItem { get; set; }
public IEnumerable<Product> Products { get; set; }
}
}
Контроллер:
[Authorize]
[ValidateInput(false)]
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult Edit(ChartViewModel objChartViewModel)
{
if (!TryUpdateModel(objChartViewModel))
{
return View(objChartViewModel);
}
else
{
} return View("Details", objChartViewModel);
}
Как флажки добавляются в мое представление, сопоставленные с объектом «Продукт» в моей модели представления:
@{
foreach (MyProject.Models.Product objProduct in Model.Products)
{
@Html.CheckBox("product" + objProduct.Id, Model.ChartItem.ChartProducts.Select(t => t.ProductId).Contains(objProduct.Id));
@String.Format("{0} {1}", objProduct.Manufacturer.Name, objProduct.Name);<br />
}
}