开发者

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.

0

上一篇:

下一篇:

精彩评论

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

最新问答

问答排行榜