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 ?

有帮助吗?

解决方案

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";
    }
}
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top