有没有办法实现以下内容:
// Model.cs
[ModelBinder(typeof(DefaultModelBinder))]
public class Model
{
}
public class DefaultModelBinder: IModelBinder
{
}
public class CustomModelBinder: DefaultModelBinder
{
}
// Controller1.cs
public class Controller1: Controller
{
public virtual ActionResult Method(Model model)
{
}
}
// Controller2.cs
[ModelBinder(typeof(Model), typeof(CustomModelBinder))] // imaginary attribute
public class Controller2: Controller
{
public virtual ActionResult Method(Model model)
{
}
}
我知道动作级别的ModelBinder
,但是由于一系列动作不遵循DRY原则,因为整个控制器都使用CustomModelBinder
。
感谢。
答案 0 :(得分:0)
这是你在找什么?
using IModelBinder = System.Web.Mvc.IModelBinder;
using ModelBindingContext = System.Web.Mvc.ModelBindingContext;
public class CustomeModelBinder : IModelBinder
{
public object BindModel(ControllerContext controllerContext, ModelBindingContext bindingContext)
{
//your code here
}
}