我希望在下列情况下理解Bind Exclude的行为:
这是我的模特课:
public class Client
{
[Required]
public int? ClientId { get; set; }
[Required]
public string Name { get; set; }
public string Comments { get; set; }
}
这是我的控制器中的Post方法:
public int PostClient([Bind(Exclude = "ClientId")]Client client)
使用fiddler,我在Json字符串中发送ClientId和Name。当我调试PostClient时,我看到client.ClientId设置为我通过fiddler发送的值。但是因为我在绑定排除类别中使用了ClientId,所以我期望ClientId的null或默认值。有人可以帮我理解为什么为ClientId设置了值吗?
PS:我知道ViewModels在这种情况下工作得更好 - 仅使用我想要绑定的参数创建一个新的模型类。虽然我可能会这样做,但这个问题只是为了理解Bind排除。