问题在于标题,实际上 - 让我说我有一个像这样的简单类:
public class Product {
public Int32 ID { get; set; }
public String Name { get; set; }
//...
}
当我在动作方法中使用它时,像这样:
public ViewResult DoSomething([Bind(Exclude="ID")]Product product] {
//...
}
product.ID在这个动作方法中有什么价值?也许这是Int32的默认值?如果ID是引用类型,则为null?我只是感兴趣,没有在网上找到它。
答案 0 :(得分:1)
由于根本没有初始化,因此该属性将具有其默认值。
答案 1 :(得分:0)
如果没有指定其他内容,您正在使用的DefaultModelBinder确实使用default(T)
表示未绑定的值。
要更改此设置,您可以在操作方法中修改每个参数的绑定行为(就像您在示例中使用BindAttribute
一样),或者在每个类型中修改例如。 Global.asax中。