自动为所有viewModel字段生成隐藏的输入

时间:2012-10-09 14:10:04

标签: asp.net-mvc html-helper

自动生成所有隐藏字段的输入是否真实。我想要这样的extestion方法Html.AutoGenerateHiddenFor(viewmodel)

输出:

<input type="hidden" name="field1" value="123"  />
<input type="hidden" name="field2" value="1234" />
<input type="hidden" name="field3" value="1235" />

2 个答案:

答案 0 :(得分:1)

您可以使用MvcContrib's Html.Serialize方法:

@using (Html.BeginForm())
{
    @Html.Serialize(Model)
    <button type="submit">OK</button>
}

然后在接收回发的控制器操作中:

[HttpPost]
public ActionResult SomeAction([Deserialize] MyViewModel model)
{
    ...
}

它使用经典的WebForms的ViewState来序列化模型,并发出一个包含序列化模型的隐藏输入字段。它有点模仿遗留的ViewState。

另一种解决方案是将模型保存到后端,然后只需在表单中包含一个隐藏的输入字段,其中包含一个唯一的ID,允许从该后端检索模型。

答案 1 :(得分:0)

\