我的项目有几个模型,其中一些与其他模型具有 1:many 关系。一个用户有一个个人资料页面,它被分成几个部分视图——每个视图分组/代表给定模型的特定属性。
例如,如果我想在局部视图中显示给定模型的 10 个属性中的 5 个,并且想要保留未向我正在使用的用户显示的属性,Html.HiddenFor
就像这样
@Html.HiddenFor(x => x.IsInGroup)
这适用于上面的单条目属性。在 5 个隐藏的成员属性中,其中之一可能是列表。我了解无法使用HiddenFor
. 我遇到了 Mvc Futures 包和Html.Serialize
辅助扩展,但我不完全确定如何使用它,也找不到很多好的信息。
- 一旦将模型传递给视图,与之相关的所有内容(属性、集合)都可供我们访问,例如
Model.Username
. 例如,如果我们不使用HiddenFor
withUsername
,这是否意味着它将被重置为默认值或 null?收藏品也一样吗? - 是否使用
HiddenFor
唯一/最佳方式来保留未向用户显示的模型属性? - 是否使用
Html.Serialize
唯一的方法来持久化未向用户显示的模型集合?其他选择? - 有人可以提供/链接到一个简单的例子,说明如何在类似于我所描述的情况下持久化一个集合?
- 如果我要使用
Html.Serialize
,是否需要对整个模型进行序列化,或者我可以只对集合进行序列化吗?
反馈表示赞赏。