c# - 将方法的参数带入自定义操作过滤器 MVC3 asp

标签 c# asp.net-mvc-3 custom-attributes action-filter

我一直在开发一个应用程序,每次您注册、修改、取消、删除等...时,必须向用户发送通知(如果已配置),所以我打算这样做这通过在数据库中保存进程的唯一标识符,然后检查通知是否配置了 ID、进程和唯一标识符,然后发送通知。

为了做到这一点,我想到了......在 Controller 上

   [NotificationFilter(id=10,proccess="Excecution") ]
   public Register(Entity entity,Guid uid){

   }

这在 ActionFilter 类上

public class NotificationFilter : ActionFilterAttribute
{
    public int id{ get; set; }
    public string proccess{ get; set; }

    public override void OnActionExecuted(ActionExecutedContext filterContext)
    {

         dosomething(id,name,uid)
    }
}

但我想知道是否有办法将我的 Register 操作的 uid 参数获取到 OnActionExecuted 方法中。

最佳答案

接受 Neel Bhatt 的回答。我做了类似的事情来完成这项工作。

public class NotificationFilter : ActionFilterAttribute
{
    public int _id;
    public string _proccess;
    public Guid _uid; 

    public NotificationFilter(int id,string proccess)
    {
        _id= id;
        _proccess = proccess;
    }
    public override void OnActionExecuting(ActionExecutingContext filterContext)
    {
         var val = filterContext.ActionParameters["uid"];

        _uid = (Guid)val;
    }

    public override void OnActionExecuted(ActionExecutedContext filterContext)
    {
         var uid = _uid;

         dosomething(id,name,uid)
    }
}

这对我有用,希望对其他人有帮助。

关于c# - 将方法的参数带入自定义操作过滤器 MVC3 asp,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18755975/

相关文章:

c# - 如何通过 SOAP 使用 WCF 服务将大型 Zip 文件 (50MB) 传输到任何客户端?

c# - 添加应用程序参数以在 Docker 中运行 .NET 控制台应用程序

c# - Asp 网络成员身份提供程序中的更改密码问题

c# - 是否可以在 ASP.NET MVC 中将命名空间分组到一个文件中?

c# - ASP.NET MVC 在验证之前修改 View 模型属性

c# - 使用 C# 像写字板一样嵌入 mspaint

c# - 泛型和 LINQ to XML

asp.net-mvc-3 - 当我只有一个简短的显示名称时如何获取枚举?

c# - 如何使用 C# 属性?

c# - 通过自定义属性生成附加代码