我使用 EntityFramework 在 MVC 4 中创建了一个数据库应用程序。它工作正常,但是我找不到将新添加的项目突出显示到我的表(html)的方法。是否可以在 MVC 中突出显示数据库应用程序中的新行?就像在 C# 中一样:
DataGrid.SelectedItem
任何建议或帮助都会非常清楚。如何在 MVC 中突出显示一行?
我使用 EntityFramework 在 MVC 4 中创建了一个数据库应用程序。它工作正常,但是我找不到将新添加的项目突出显示到我的表(html)的方法。是否可以在 MVC 中突出显示数据库应用程序中的新行?就像在 C# 中一样:
DataGrid.SelectedItem
任何建议或帮助都会非常清楚。如何在 MVC 中突出显示一行?
你是如何渲染表格的?
一种选择是使用TempData。将添加项的标识符存储在 TempData 中,并在呈现表格时检查标识符。
项目控制器:
// POST: /Item/Create
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Create([Bind(Include="Id,Name")] Item item)
{
if (ModelState.IsValid)
{
db.Items.Add(item);
db.SaveChanges();
TempData["AddedItemId"] = item.Id;
return RedirectToAction("Index");
}
return View(item);
}
物品视图:
<!-- Views\Item\Index.cshtml -->
<table class="table">
<tr>
<th>
@Html.DisplayNameFor(model => model.Name)
</th>
<th></th>
</tr>
@foreach (var item in Model)
{
var className = "";
if (TempData["AddedItemId"] != null && (int)TempData["AddedItemId"] == item.Id)
{
className = "alert-info";
}
<tr class="@className">
<td>
@Html.DisplayFor(modelItem => item.Name)
</td>
<td>
@Html.ActionLink("Edit", "Edit", new { id = item.Id }) |
@Html.ActionLink("Details", "Details", new { id = item.Id }) |
@Html.ActionLink("Delete", "Delete", new { id = item.Id })
</td>
</tr>
}
</table>