Custom Model Binder
-
05-12-2019 - |
题
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";
}
}
不隶属于 StackOverflow