Custom Model Binder

187 views Asked by At

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.

Is this somehow possible ?

3

There are 3 answers

0
Vasiliy R On BEST ANSWER

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.

0
Davidson Sousa On

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";
    }
}
0
Aashima Khatoon On

Here model binder in MVC is a great example for creating custom model binder and how exactly model binder works in asp.net MVC.