4

这怎么可能? 控制器 看法 查看代码

两天的头撞。如果有人有理智的解释,那就太好了。

请注意,如果我删除EditorFor(o => o.DocumentParentID),则在 [HttpPost] 中收到时,该值将变为 0,因此它们与数据库的其他记录相匹配

请注意,这些是数据库中的相关记录 在此处输入图像描述

4

2 回答 2

7

您获得的 ID 属性值为 6,因为它与您的路线中的 Id 参数匹配。似乎默认模型绑定器也在您的 url 中寻找这些属性。

在 StatusClient 类中更改您的操作方法的参数名称或 ID 属性的名称,它应该可以正常工作。

此外,如果您没有EditorFor(o => o.DocumentParentID)在视图中添加,DocumentParentID 将不会被发送回您的操作方法,您将获得默认值 0。

于 2012-09-06T14:12:08.737 回答
0

我不太确定您的要求是什么,但我认为这就是为什么当 EditorFor 不在页面上时默认进入 DocumentParentID ?

modelbinder 将绑定对象类型的默认值,因此如果您将 DocumentParentID 定义为 Int32,则 modelbinder 将在 post 上绑定到 0。如果 DocumentParentID 被定义为 Int32?,那么 modelbinder 将在 post 上绑定到 null。

于 2012-09-06T14:11:07.840 回答