我使用EntityFramework在MVC 4中创建了一个数据库应用程序。它工作正常,但是我找不到突出显示新增加项目到我的表(html)的方法。是否可以在MVC中突出显示数据库应用程序中的新行?就像在C#中一样:
DataGrid.SelectedItem
任何建议或帮助都会非常明确。如何在MVC中突出显示一行?
答案 0 :(得分:3)
你是如何呈现桌子的?
一种选择是使用TempData。将添加项的标识符存储在TempData中,并在呈现表时检查标识符。
ItemController:
// 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>