2016-08-21 49 views
0

问候没有合适的方法,我有一个更清晰的代码创建一个Attribute,它只是简单地检查出来,如果ModelState是有效的,但它不断给我这个错误:发现凌驾于OnActionExecuting没有合适的方法。顺便说一句,我用我的Controller中的ActionResult发现覆盖的WebAPI

这里是我的代码:

public class ValidateModelStateAttribute : ActionFilterAttribute 
{ 

    public override void OnActionExecuting(HttpActionContext actionContext) 
    { 
     if (!actionContext.ModelState.IsValid) 
     { 
      actionContext.Response = actionContext.Request.CreateErrorResponse(
    HttpStatusCode.BadRequest, actionContext.ModelState); 
     } 

    } 
} 

这里是我的控制器:

Repository<User> userRepository = new Repository<User>(); 

    [HttpPost, ActionName("Register"), AllowAnonymous, ValidateModelState] 
    public ActionResult Create(UserRegister useReg) 
    { 
     userRepository.Insert(UserFactory.UserRegisterFactory(useReg)); 
     userRepository.save(); 
     return new HttpStatusCodeResult(HttpStatusCode.OK); 
    } 

回答