Получить несколько выбранных флажков в MVC
У меня есть ProductController, который состоит из метода Create.
Моя модель:
public class ProductEntry
{
public Crescent.LinqModel.Product Products { get; set; }
public ProductSKU SKUs { get; set; }
public List<SelectListItem> pColors { get; set; }
public ProductEntry()
{
pColors = new List<SelectListItem>();
}
}
Создать метод получения:
public ActionResult Create()
{
CrescentAdmin.Models.ProductEntry product = new CrescentAdmin.Models.ProductEntry();
var colors = _appData.GetProductColors().ToList();
for (int i = 0; i < colors.Count; i++)
{
if (i == 0)
product.pColors.Add(new SelectListItem { Value = colors[i].Name.ToString(), Text = colors[i].Name, Selected = true });
else
product.pColors.Add(new SelectListItem { Value = colors[i].Name.ToString(), Text = colors[i].Name });
}
return View(product);
}
этими цветами я хочу заполнить список флажков, в которых я могу выбрать несколько флажков. Это работает должным образом.
Создать сообщение:
[HttpPost]
[ValidateInput(false)]
public ActionResult Create(CrescentAdmin.Models.ProductEntry entry, HttpPostedFileBase uploadFile)
{
//code to insert in two table
// required to fetch which checkboxes are selected ??
}
Создать вид:
@model CrescentAdmin.Models.ProductEntry
Код для заполнения списка флажков:
<tr>
<td>
Product Colors
</td>
<td>
@if (Model.pColors != null && Model.pColors.Count > 0)
{
for (int i = 0; i < Model.pColors.Count; i++)
{
//if (Model.pColors[i])
//{
<input type="checkbox" value="@Model.pColors[i].Value" id="@Model.pColors[i].Value"/> @Model.pColors[i].Text <br />
@Html.HiddenFor(m => Model.pColors[i].Value);
@Html.HiddenFor(m => Model.pColors[i].Text);
@Html.HiddenFor(m => Model.pColors[i].Selected);
//}
//else
//{
// <input type="checkbox" value="@Model.pColors[i].Value" /> @Model.productColors[i].Name <br />
//}
}
}
@Html.ValidationMessageFor(model => model.SKUs.ProductColors)
</td>
</tr>
Я попробовал этот код, но не повезло!
требуется выбрать какие флажки выбраны ?? Пожалуйста помоги