Я не совсем понял, что вам нужно, но я думаю, что у вас есть выбор элементов от пользователя, возможно, с использованием флажков или что-то еще.
Ответ может быть по этой ссылке: CheckboxList inMVC3.0
В основном, что вам нужно сделать: создать действие, которое получает список или элементы IEnumerable, и поместить вашу форму в POST для этого действия.
Я сделалпример кода, который может помочь:
У вас может быть модель предмета:
using System;
namespace SandboxMvcApplication.Models
{
public class Item
{
public int Id { get; set; }
public string Title { get; set; }
}
}
Ваш контроллер может быть:
public class HomeController : Controller
{
List<Item> itemList = new List<Item>() {
new Item() { Id = 1, Title = "Item 1" },
new Item() { Id = 2, Title = "Item 2" },
new Item() { Id = 3, Title = "Item 3" }
};
public ActionResult Index()
{
return View(itemList);
}
public ActionResult ProcessForm(int[] items)
{
var selectedItems = new List<Item>();
foreach (var item in items)
{
selectedItems.AddRange(itemList.Where(i => i.Id == item));
}
return View("Success", selectedItems);
}
}
Представление индекса (~ /Views / Home / Index.cshtml):
@model List<SandboxMvcApplication.Models.Item>
@{
ViewBag.Title = "Home Page";
}
<form action="@Url.Action("ProcessForm")" method="post">
<ul>
@foreach (var item in Model)
{
<li><input type="checkbox" name="items" value="@item.Id" />@item.Title</li>
}
</ul>
<input type="submit" value="Send selected items"/>
</form>
Наконец, представление об успешном просмотре, чтобы показать, какие элементы выбрал пользователь:
@model List<SandboxMvcApplication.Models.Item>
@{
ViewBag.Title = "Success";
}
<h2>Success: Selected items were</h2>
<ul>
@foreach (var item in Model)
{
<li>@item.Id => @item.Title</li>
}
</ul>