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;
}
}
返回实体;
}
}