我正在开发我的第一个 MVC 应用程序,但仍在搞清楚。
我有一个视图模型,此时它与我的域对象相同。我的控制器构建视图模型并将其传递给视图。该视图仅显示一些属性,因为我不希望为用户显示主键和/或外键,在主键的情况下,我需要拥有数据才能更新/删除数据库。
看来,除非我在视图中使用 viewmodel 属性,否则当我将 viewmodel 传回时,它会设置为默认值(数值类型为 0,引用类型为 null)。这是正确的行为吗?
我确认传递给编辑视图的视图模型确实包含所有属性(如我所料)。
问题 - 一旦视图被渲染,视图模型会发生什么?如果我的视图模型包含视图中未使用的属性,它们的值会消失吗?例如,当我单击编辑操作链接以在控制器上触发编辑操作时,传递给操作的视图模型不包含任何属性,除非它们在屏幕上可见。为什么?
顺便说一句,这是 ASP.NET MVC 4 RC。