2016-08-21 50 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); 
    } 

回答