2

我使用 EntityFramework 在 MVC 4 中创建了一个数据库应用程序。它工作正常,但是我找不到将新添加的项目突出显示到我的表(html)的方法。是否可以在 MVC 中突出显示数据库应用程序中的新行?就像在 C# 中一样:

DataGrid.SelectedItem 

任何建议或帮助都会非常清楚。如何在 MVC 中突出显示一行?

4

1 回答 1

4

你是如何渲染表格的?

一种选择是使用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>
于 2013-11-09T14:07:13.157 回答