【问题标题】:Form Post Syntactic Sugar for Hidden Fields为隐藏字段形成 Post Syntactic Sugar
【发布时间】:2013-08-20 21:59:08
【问题描述】:

我有一个 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 个隐藏字段来显式传递每个字段。

有什么建议吗?

【问题讨论】:

  • 是否有任何特殊原因说明为什么这些数据需要出现在页面上?我的意思是,我只需添加必需品(id),在服务器端,当您查询数据库时,它将使用 id 返回所有相关字段。
  • 我承认这个例子是人为的,它比我的完整场景更容易解释。因此,要回答您的问题,让我们说“是”。我主要感兴趣的是我所描述的是否可以完成,无论它是否是我给出的特定示例的最佳解决方案。谢谢!

标签: c# asp.net-mvc-4 syntactic-sugar


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-16
    • 1970-01-01
    • 1970-01-01
    • 2013-09-03
    • 1970-01-01
    • 2021-01-10
    相关资源
    最近更新 更多