Я использую MVC 4, и я хочу избавиться от страницы редактирования и просто внести изменения, которые я хочу на странице индекса, к нескольким элементам одновременно.Обновление нескольких элементов того же типа
Вот CSHTML:
@model IEnumerable<HelpDesk.Models.ViewPerm>
@{
ViewBag.Title = "Index";
}
<h2>Index</h2>
<p>
@Html.ActionLink("Create New", "Create")
</p>
@using (Html.BeginForm())
{
@Html.ValidationSummary(true)
<fieldset>
<legend>ViewPerm</legend>
<table style="border: 5px solid white;">
<tr>
<th style="border: 5px solid white;">
@Html.DisplayNameFor(model => model.Roles.Role)
</th>
<th style="border: 5px solid white;">
@Html.DisplayNameFor(model => model.Views.Page)
</th>
<th style="border: 5px solid white;">
@Html.DisplayNameFor(model => model.Perm)
</th>
<th></th>
</tr>
@foreach (var item in Model)
{
<tr>
<td style="border: 5px solid white;">
@Html.DisplayFor(modelItem => item.Roles.Role)
</td>
<td style="border: 5px solid white;">
@Html.DisplayFor(modelItem => item.Views.Folder)
@Html.DisplayFor(modelItem => item.Views.Page)
</td>
<td style="border: 5px solid white;">
@Html.EditorFor(modelItem => item.Perm)
</td>
<td>
@Html.ActionLink("Delete", "Delete", new { id = item.VPermID })
</td>
</tr>
}
</table>
<input type="submit" value="Save" />
</fieldset>
}
@section Scripts {
@Scripts.Render("~/bundles/jqueryval")
}
И C#:
public ActionResult Index()
{
var viewperm = db.ViewPerm.Include(v => v.Roles).Include(v => v.Views);
return View(viewperm.ToList());
}
[HttpPost]
public ActionResult Index(ViewPerm viewperm)
{
if (ModelState.IsValid)
{
db.Entry(viewperm).State = EntityState.Modified;
db.SaveChanges();
return RedirectToAction("Index");
}
return View(viewperm);
}
Когда я нажал на кнопку сохранить его «Обновление магазина, вставка или удаление заявление повлияло неожиданное количество строк (0). Объекты могут быть изменены или удалены, поскольку объекты загружены. Обновите записи ObjectStateManager. "
Спасибо за помощь.
Я бегу в в cshtml на ** м [I] ** Roles.Role и те, как это и ** Model [я] ** говоря "не может применить индексацию. с [] выражением типа «System.Collections.Generic.IEnumerable ' –
user2116960
@ user2116960 Измените свою модель и ваш метод действий на« Список »вместо« IEnumerable » –
mattytommo
Извините, Я все еще изучаю MVC. Не могли бы вы привести мне пример этого или рассказать мне, как это сделать. Спасибо за вашу помощь. – user2116960