jquery - MVC 3 : ActionFilterAttribute and OnActionExecuting don't fire

标签 jquery asp.net-mvc asp.net-mvc-3 validation events

我正在尝试向我的模型添加一个 WarningCheck 属性,我将在其中重写 OnActionExecuting 来控制验证。问题是代码从未被调用。

WarningCheckAttribute

[AttributeUsage(AttributeTargets.All)] // I have tried other targets too without success
public class WarningCheckAttribute : ActionFilterAttribute
{
    public override void OnActionExecuting(ActionExecutingContext filterContext)
    {
        base.OnActionExecuting(filterContext);

      /* DO SOME STUFF */
    }
}

型号

  public class Ticket   
   {
    ...
    [StringLength(50)]
    [Display(Name = "Cliente")]
    [Required(ErrorMessage = "Il Cliente è obbligatorio.")]
    [WarningCheck]
    [MaxLength(50, ErrorMessage = "Il nome del Cliente può essere al massimo di 20 cifre."), MinLength(3, ErrorMessage = "Il nome del Cliente è troppo corto. Inserire almeno 3 caratteri.")]
    public string Cliente { get; set; }
    ...

最佳答案

顾名思义,Action FilterAttribute 应该应用于Actions,而不是属性。

[WarningCheck]
public ActionResult Create(Ticket ticket)
{

}

关于jquery - MVC 3 : ActionFilterAttribute and OnActionExecuting don't fire,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9549445/

相关文章:

javascript - 动态生成的模态链接将在每个新生成的链接上进行初始化

javascript - JQuery:多次插入一张图像

asp.net-mvc - 使用单数或复数 Controller URI 调用 Web API

html - 水平和垂直滚动时固定列

javascript - JQuery AJAX 加载使用 AJAX 的表单

javascript - 在 select2 中捕获回车键

jquery 不包含在捆绑中

asp.net - 检测 Internet Explorer 浏览器版本问题

ajax - 没有表单标签的 ASP.NET MVC3 客户端验证

c# - asp.net mvc 3 razor view -> strongly typed List of tuple 问题