开发者

Custom Model Binder

开发者 https://www.devze.com 2023-02-12 17:12 出处:网络
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'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

精彩评论

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