Asp.net core mvc MVC6中的特定类模型绑定

Asp.net core mvc MVC6中的特定类模型绑定,asp.net-core-mvc,model-binding,custom-model-binder,Asp.net Core Mvc,Model Binding,Custom Model Binder,我有一个基本视图模型,其属性为IsActive和LastUpdated。每次用户创建/编辑一个实体(继承自基本视图模型),我都希望它通过我的自定义模型活页夹运行 如何在MVC6中实现这一点 下面是我在mvc早期版本中的处理方式 public class EntityViewModelBinder<T> : DefaultModelBinder where T : EntityViewModel { public override object

我有一个基本视图模型,其属性为
IsActive
LastUpdated
。每次用户创建/编辑一个
实体
(继承自基本视图模型),我都希望它通过我的自定义
模型活页夹
运行

如何在MVC6中实现这一点

下面是我在mvc早期版本中的处理方式

public class EntityViewModelBinder<T> : DefaultModelBinder
        where T : EntityViewModel
    {
        public override object BindModel(ControllerContext controllerContext, ModelBindingContext bindingContext)
        {
            var entity = base.BindModel(controllerContext, bindingContext) as EntityViewModel;

            if (entity != null)
            {
                entity.IsActive = true;
                entity.LastUpdated = DateTime.Now;

                if (!String.IsNullOrEmpty(controllerContext.HttpContext.Request["delete"]))
                {
                    entity.IsActive = controllerContext.HttpContext.Request["delete"].Contains("true") ? true : false;
                }
            }

            return entity;
        }
    }
公共类EntityViewModelBinder:DefaultModelBinder
其中T:EntityViewModel
{
公共重写对象BindModel(ControllerContext ControllerContext,ModelBindingContext bindingContext)
{
var entity=base.BindModel(controllerContext,bindingContext)作为EntityViewModel;
如果(实体!=null)
{
entity.IsActive=true;
entity.LastUpdated=DateTime.Now;
如果(!String.IsNullOrEmpty(controllerContext.HttpContext.Request[“delete”]))
{
entity.IsActive=controllerContext.HttpContext.Request[“delete”]。包含(“true”)?true:false;
}
}
返回实体;
}
}