我想将模型的值从视图传递给控制器。
当我使用@Html.TextBoxFor
时,值会转到控制器,但当我使用@Html.DisplayFor
时,控制器中的值为null
。
View.cshtml
@using (Html.BeginForm("EditView", "Home"))
{
@Html.TextBoxFor(model => model.Name) // 1st way
@Html.DisplayFor(model => model.Name) // 2nd way
<input type="submit" value="Ok !" class="btn btn-success btn-sm" />
}
Controller
public ActionResult EditView(ModelList model)
{
return RedirectToAction("Index");
}
基本上,控制器第一次获得值;但第二次,它得到null
。我该如何解决这个问题?
答案 0 :(得分:6)
@Html.DisplayFor
只显示视图中的值。
如果您希望在发布时将值传回控制器,那么您还需要@Html.HiddenFor