开发者

If property or field is excluded when model-binding, what value will it have?

The question is in the title, actually - let's say I have a simple class like this:

public class Product {
   public Int32 ID { get; set; }
   pub开发者_开发问答lic String Name { get; set; }
   //...
}

When I use it in action method, like this:

public ViewResult DoSomething([Bind(Exclude="ID")]Product product] {
 //...
}

what value will product.ID have inside this action method? Maybe it will be default value for Int32? And null in case ID is reference-type? I'm just interested, didn't find it on the web.


Since there will be no initialization at all, the property will have its default value.


The DefaultModelBinder, which you are using if nothing else is specified, indeed uses default(T) for unbound values.

To change this, you can modify binding behavior per-parameter in action methods (as you are doing with the BindAttribute in your example), or per-type in eg. Global.asax.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜