Как всегда, начните с определения модели вида:
public class MyModel
{
public bool Check1 { get; set; }
public bool Check2 { get; set; }
public IEnumerable<SelectListItem> ListItems { get; set; }
public string[] SelectedItems { get; set; }
}
Далее контроллер:
public class HomeController : Controller
{
public ActionResult Index()
{
var model = new MyModel
{
Check1 = false,
Check2 = true,
ListItems = new SelectList(new[]
{
new { Id = 1, Name = "item 1" },
new { Id = 2, Name = "item 2" },
new { Id = 3, Name = "item 3" },
}, "Id", "Name")
};
return View(model);
}
[HttpPost]
public ActionResult Index(MyModel model)
{
// TODO: Process the model
// model.SelectedItems will contain a list of ids of the selected items
return RedirectToAction("index");
}
}
и, наконец, представление:
<% using (Html.BeginForm()) { %>
<div>
<%: Html.LabelFor(x => x.Check1) %>
<%: Html.CheckBoxFor(x => x.Check1) %>
</div>
<div>
<%: Html.LabelFor(x => x.Check2) %>
<%: Html.CheckBoxFor(x => x.Check2) %>
</div>
<div>
<%: Html.ListBoxFor(x => x.SelectedItems, Model.ListItems) %>
</div>
<input type="submit" value="OK" />
<% } %>