Существует контекст базы данных, в котором элементом набора является класс VirtualServer. Я пытаюсь представить его в виде таблицы, в одном из столбцов которой будут установлены флажки, которые должны изменить свойство IsSelectedForRemove в классе VirtualServer
Моя модель:
public class VirtualServer
{
public VirtualServer()
{
CreateDateTime = DateTime.Now.ToString();
}
public Int32 VirtualServerId { get; set; }
public String CreateDateTime { get; set; }
public String RemoveDateTime { get; set; }
public Boolean IsSelectedForRemove { get; set; }
}
Мой главный вид:
@using VirtualServerManager.Models
@model VirtualServersManagerContext
@{
Layout = null;
AjaxOptions ajaxOptions = new AjaxOptions
{
UpdateTargetId = "tableBody"
};
}
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width" />
<title>Virtual Servers Manager</title>
<script src="~/Scripts/jquery-1.10.2.js"></script>
<script src="~/Scripts/jquery.unobtrusive-ajax.js"></script>
</head>
<body>
<div>
<h3>Virtual Servers Manager</h3>
@using (Ajax.BeginForm("Index", ajaxOptions))
{
<table border="1">
<tr>
<td><p>VirtualServerId</p></td>
<td><p>CreateDateTime</p></td>
<td><p>RemoveDateTime</p></td>
<td><p>SelectedForRemove</p></td>
</tr>
<tbody id="tableBody">
@Html.Partial("GetVirtualServers", Model.VirtualServers)
</tbody>
</table>
<input type="submit" value="SendSelected"/>
}
</div>
</body>
</html>
Мой частичный вид:
@using VirtualServerManager.Models
@model IEnumerable<VirtualServer>
@foreach (var server in Model)
{
<tr>
<td><p>@server.VirtualServerId</p></td>
<td><p>@server.CreateDateTime</p></td>
<td><p>@server.RemoveDateTime</p></td>
<td>
@Html.HiddenFor(m => server.VirtualServerId)
@Html.CheckBoxFor(m => server.IsSelectedForRemove)
</td>
</tr>
}
Мой контроллер:
public class HomeController : Controller
{
public HomeController()
{
_dataBaseContext = new VirtualServersManagerContext();
}
public ActionResult Index()
{
return View(_dataBaseContext);
}
[HttpPost]
public PartialViewResult Index(VirtualServersManagerContext model)
{
return PartialView("GetVirtualServers", _dataBaseContext.VirtualServers);
}
VirtualServersManagerContext _dataBaseContext;
}
Я ожидаю, что когда я изменяю состояние флажков и нажимаю кнопку SendSelected, индекс действия после публикации получает набор VirtualServer с фактическими значениями свойства IsSelectedForRemove, но ничего не меняется