在Html.EditorFor()

时间:2016-11-04 18:03:45

标签: razor asp.net-mvc-5

我有一个名为EditEmployee.shtml的视图,由Visual Studio为我生成。在其中,有一行创建文本框以允许修改Employee记录。

@Html.EditorFor(model => model.Name, new { htmlAttributes = new { @class = "form-control" } })

这是控制器:

public ActionResult EditEmployee(int id = 0)
{
    using (MVCTrainingDB db = new MVCTrainingDB())
    {
        var emp = db.Employees.Find(id);

        if (emp == null)
        {
            return RedirectToAction("Index", "Home");
        }
        else
        {
            return View();
        }

    }                        
}

这很有效,除了它没有显示模型的当前值,而只是空白。如何修改此项以将文本框的值设置为model.Name?

1 个答案:

答案 0 :(得分:2)

您需要将对象传递给视图

var emp = db.Employees.Find(id);
if (emp == null)
{
    return RedirectToAction("Index", "Home");
}
else
{
    return View(emp );
}