Custom Model Binder
I'd like to create a custom model binder.
Let's say there're 20 properties. I need manualy bind only five of them. I'd like to bind the other 15 properties automatic like the default binder does.
I开发者_如何学Gos this somehow possible ?
Sure, the very least thing you can do is inherit DefaultModelBinder
, override the BindModel(...)
method and use base.BindModel(...)
for whatever you want. After that just provide your own binding logic for anything else.
I had such problem few days ago and I have solved it by filling the default properties inside the constructor. In this way I just pass the model without any problem even if I don't have an "Author" field:
public class Post
{
private string title;
private string author;
private string content;
public string Title
{
get { return title; }
set { title = value; }
}
public string Author
{
get { return author; }
set { author = value; }
}
public string Content
{
get { return content; }
set { content = value; }
}
public Post()
{
this.author = "Davis";
}
}
Here model binder in MVC is a great example for creating custom model binder and how exactly model binder works in asp.net MVC.
精彩评论