在提交时使用DisplayFor发布模型属性

时间:2012-11-20 19:24:18

标签: asp.net-mvc razor viewmodel displayfor

我的一个视图页面我通过控制器传递了一个模型,所以我可以写:
@Html.DisplayFor(m => m.FirstName),显示模型的名字。当我尝试使用

在页面上提交表单时
@using (Html.BeginForm("CreateUser", "Controller", FormMethod.Post, new { UserViewModel = Model }))

我在

中查看我的模型
[HttpPost]
public virtual ActionResult CreateUser(UserViewModel model)
{
    //model.FirstName is blank

无论如何我可以制作模型.FirstName不是空白?通过一些人如何通过我最初通过的模型?我可以设置一堆隐藏的评论,但是如果有更好的方法会非常有用

编辑:DisplayFor只是一个示例,表明模型是可访问的。我实际上有大约15个字段,我正在尝试填充模型的多种形式。隐藏是唯一的方式吗?我可以隐藏整个模型吗?

1 个答案:

答案 0 :(得分:1)

@Html.DisplayFor()默认情况下创建一个带有值的简单文字(如果你没有使用显示模板),只提交提交给服务器的表单元素。

您可以使用隐藏输入。

@Html.HiddenFor(m => m.FirstName)

这将是:

<input type="hidden" value="{the first name}" name="FirstName" id="FirstName" />