2014-10-18 48 views
2

有没有办法将完整模型渲染为隐藏字段?ASP.NET MVC将模型渲染为隐藏字段

喜欢的东西:

@Html.HiddenFor(m => m) 

还是我来呈现我的HiddenFor模型的每一个属性?

编辑:

这是一个复杂的向导(5-10步骤)。在最后一步,我想将数据存储在数据库中。也许我可以将模型作为JSON序列化为隐藏字段。然后我也可以通过JS访问它。

+1

会有什么意义? – 2014-10-18 12:01:14

+0

您可以创建一个T类属性模型,然后使用EditorFor或DisplayFor模板并使用反射遍历模型的属性并将其呈现为隐藏字段。像这样的东西会奏效。不过,我同意 - 重点是什么? – 2014-10-18 12:02:28

+0

@StephenMuecke我认为重点是能够在例如表单验证失败并显示模型错误时重新呈现不可编辑的模型属性。 – 2014-10-18 12:07:05

回答

2

那么你可以将对象序列化为某种格式的字符串,如XML或Base64,并将其放入隐藏字段中,但基本上这只是老派的ASP.NET ViewState

如果您只编辑大型对象中的几个字段,通常最好在页面上(隐藏字段或URL)拥有该ID,然后再次从数据库/会话/重新构建它当他们提交表格时。

+0

这是一个复杂的向导(5-10步)。在最后一步,我想将它存储在数据库中。也许我可以将模型序列化为JSON到隐藏字段。然后我也可以通过JS访问它。 – LuckyStrike 2014-10-18 12:21:27