【发布时间】:2014-01-20 00:42:15
【问题描述】:
假设我有一个非常庞大的模型,其中包含列表,甚至这些列表也可以包含包含其他列表的对象。我想在没有 AJAX 的 MVC4(或 5)中为其创建一个编辑表单。
所以我认为第一部分是将整个对象存储在客户端的隐藏字段中。列表绑定就像一个魅力,请参阅http://haacked.com/archive/2008/10/23/model-binding-to-a-list.aspx/。现在完整的往返工作正在进行中,我可以将整个对象推送到绑定隐藏字段中的客户端,它会在提交时返回给我,并且已发布的隐藏字段被放入复杂对象、嵌套列表和包括的所有内容中。
列表或其他对象应基于某些操作变得可编辑。一种情况是单个对象或列表项显示为不可编辑,当用户单击它时,它就可以就地编辑,例如网格中的单元格变成文本框。另一种情况是根本不显示单个对象或列表项,当用户单击按钮时,会出现一个带有文本输入字段的弹出窗口。
是否有图书馆或经过验证的方法可以做到这一点?
【问题讨论】:
-
这个问题不是很简单...作为读者,我不确定您是如何从第一段开始将所有内容存储在隐藏字段中的。你所说的只是你想为一个可以包含多层列表的复杂对象创建一个编辑表单。这绝不意味着所有内容都应该存储在隐藏字段中。我现在才稍微了解你在最后一段之后的问题。
-
我不明白为什么您不能在服务器端使用所有常规输入呈现普通表单,然后根据需要切换输入的可见性,然后针对您显示的场景文本,但您不希望他们能够编辑它,只需将其设为只读即可。然后,如果您不喜欢默认设置,您可以将自己的样式应用于只读输入。
-
我在 asp.net mvc 框架和 AngularJS 中都做到了这一点。 Angular 是一个救星。使用 Angular,所有这些活动都很容易。
标签: c# javascript asp.net-mvc datagrid model-binding