2013-08-20 18 views
0

我有一个MVC4应用程序,其中构建了一个包含表单以编辑特定实体的视图。这种形式中的许多字段都绑定到一个强类型模型(注释,关注等),但其他一些字段已经设置并且没有被修改(Id,CreatedDate等)。为了通过该值,如(身份证等)回后我一直在使用隐藏域是如下图所示表单POST控制器..为隐藏字段形成后缀语法糖

<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个隐藏字段来明确地传递每个字段。

有什么建议吗?

+0

有什么特别的原因,为什么这些数据需要出现在网页上?我的意思是,我只需添加essentials(id),并在服务器端,当您查询数据库时,它将使用该id返回所有相关字段。 – hjavaher

+0

我承认这个例子很有意思,比我的完整场景更容易解释。所以回答你的问题让我们说'是'。我主要感兴趣的是,如果我所描述的内容可以完成,无论它是否是我给出的特定示例的最佳解决方案。谢谢! – SHeinema

回答

0

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

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