回发时MVC2模型字段为空

时间:2011-05-23 15:42:47

标签: asp.net asp.net-mvc-2

我正试图从强类型视图回发到我的控制器。

问题是模型中有几个字段我不想让用户编辑。理想情况下,我只想将它们显示为标签,但是当我这样做时,它们在发布时为空...

这是相关的视图代码:这看起来我希望它看起来如何名字和姓氏是标签

 <td width="75px"><%: Html.DisplayFor(model=>model.FirstName, new{disabled="true"}) %></td>
          <td width="75px"><%: Html.DisplayFor(model => model.LastName)%></td>
          <td width="100px"><%: Html.LabelFor(model => model.EmailAddress) %></td>
          <td width="75px"><%: Html.TextBoxFor(model => model.EmailAddress) %></td>
          <td><%: Html.ValidationMessageFor(model => model.EmailAddress) %></td>

模型看起来像这样:

公共类PersonModel     {         [需要]         [DisplayName(“名字”)]         public string FirstName {get;组; }

    [Required]
    [DisplayName("Last Name")]
    public string LastName { get; set; }

    [DisplayName("Email Address")]
    public string EmailAddress { get; set; }

}

控制器如下所示:

[HttpPost]         public ActionResult RsvpToInvitation(PersonModel submittedRsvp)         {...}

我从所有这些中剥离了相当数量的代码......基本上我的问题是如何将模型属性显示为标签并仍然将其发布回控制器?

2 个答案:

答案 0 :(得分:2)

您可以在视图中将它们设为隐藏字段。

<%: Html.Hidden("LastName", Model.LastName) %>
<%: Html.Hidden("EmailAddress ", Model.EmailAddress) %>

答案 1 :(得分:1)

您是否尝试使用Html.Hidden帮助程序存储值?