0

我有一个 MVC4 应用程序,我在其中构建了一个包含用于编辑特定实体的表单的视图。此表单中的许多字段都绑定到强类型模型(Comments、Concerns 等),但是许多其他字段已经设置并且没有被修改(Id、CreatedDate 等)。为了在表单 POST 上将(Id 等)等值传递回控制器,我一直在使用隐藏字段,如下所示。

<form id="myForm" method="post" action="/SaveMyModel">
  @model myModel

  @Html.TextAreaFor(i => i.Comments)
  @Html.TextAreaFor(i => i.Concerns)

  @Html.Hidden(i => i.Id)
  @Html.Hidden(i => i.CreatedDate)

  <input type="submit" value="Submit" />
</form>

在我看来,可能有一些“语法糖”允许将这些隐藏字段批量传递给控制器​​,而不是使用(在我目前的情况下)10-15 个隐藏字段来显式传递每个隐藏字段。

有什么建议么?

4

1 回答 1

0

我认为没有内置任何东西。话虽如此,制作自己的自定义 HTML Helper 类非常容易,您可以将所有必需的隐藏字段作为字符串甚至模型属性传递,它会创建所有为您隐藏的字段。我找到了一个关于如何做到这一点的教程(请在下面找到它),但我相信你可以通过谷歌搜索custom html helper mvc tutorial或类似的东西找到更多。希望这可以帮助 :)

http://dailydotnettips.com/2011/03/14/creating-custom-html-helpers-in-asp-net-mvc/

于 2013-08-20T23:20:44.920 回答