1

我的一个视图页面我通过控制器传入了一个模型,所以我可以写:
@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

无论如何我可以让model.FirstName不为空吗?通过一些如何通过我最初通过的模型?我可以设置一堆隐藏的评论,但如果有更好的方法会很有帮助

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

4

1 回答 1

1

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

您可以使用隐藏输入。

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

这将是这样的:

<input type="hidden" value="{the first name}" name="FirstName" id="FirstName" />
于 2012-11-20T19:27:17.367 回答