我想创建一个自定义模型绑定器。
假设有20个属性。我需要manualy绑定其中只有五个。我想自动绑定其他15个属性,就像默认绑定器一样。
这有可能吗?
答案 0 :(得分:2)
当然,您可以做的最重要的事情就是继承DefaultModelBinder
,覆盖BindModel(...)
方法并使用base.BindModel(...)
来表达您想要的任何内容。之后,只需为其他任何事情提供自己的绑定逻辑。
答案 1 :(得分:0)
前几天我遇到了这样的问题,我通过填充构造函数中的默认属性解决了这个问题。通过这种方式,即使我没有“作者”字段,我也可以毫无问题地传递模型:
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";
}
}
答案 2 :(得分:0)
这里model binder in MVC是创建自定义模型联编程序以及模型联编程序在asp.net MVC中的确切工作方式的绝佳示例。