这怎么可能?
两天的头撞。如果有人有理智的解释,那就太好了。
请注意,如果我删除EditorFor(o => o.DocumentParentID)
,则在 [HttpPost] 中收到时,该值将变为 0,因此它们与数据库的其他记录相匹配
请注意,这些是数据库中的相关记录
这怎么可能?
两天的头撞。如果有人有理智的解释,那就太好了。
请注意,如果我删除EditorFor(o => o.DocumentParentID)
,则在 [HttpPost] 中收到时,该值将变为 0,因此它们与数据库的其他记录相匹配
请注意,这些是数据库中的相关记录
您获得的 ID 属性值为 6,因为它与您的路线中的 Id 参数匹配。似乎默认模型绑定器也在您的 url 中寻找这些属性。
在 StatusClient 类中更改您的操作方法的参数名称或 ID 属性的名称,它应该可以正常工作。
此外,如果您没有EditorFor(o => o.DocumentParentID)
在视图中添加,DocumentParentID 将不会被发送回您的操作方法,您将获得默认值 0。
我不太确定您的要求是什么,但我认为这就是为什么当 EditorFor 不在页面上时默认进入 DocumentParentID ?
modelbinder 将绑定对象类型的默认值,因此如果您将 DocumentParentID 定义为 Int32,则 modelbinder 将在 post 上绑定到 0。如果 DocumentParentID 被定义为 Int32?,那么 modelbinder 将在 post 上绑定到 null。