小编Tha*_*tha的帖子

使用查询字符串在MVC C#上使用Action Filters

我使用类名RightCheckerAttribute检查MVC3应用程序中的用户权限...所以RightCheckerAttribute类是这样的......

    public bool isAdmin { get; set; }

    public override void OnActionExecuting(ActionExecutingContext filterContext)
    {
        HttpContextBase context = filterContext.HttpContext;

        bool result = Convert.ToBoolean(context.Request.QueryString["isAdmin"].ToString());

        if (isAdmin != result) 
        {
            RouteValueDictionary redirecttargetDictionary = new RouteValueDictionary();
            redirecttargetDictionary.Add("action", "NoPermission");
            redirecttargetDictionary.Add("controller","Singer");
            filterContext.Result = new RedirectToRouteResult(redirecttargetDictionary);

        }

        //base.OnActionExecuting(filterContext);
    }
Run Code Online (Sandbox Code Playgroud)

所以在方法我应用这个有头像..

[RightChecker (isAdmin=true)]

我正在执行这个方法..

http://localhost:5576/Singer/DeleteSinger?isAdmin=true

问题是我是否传递真或假...我得到的结果变量为假...而且我得到:

异常[空对象引用] ...

c# asp.net-mvc action-filter actionfilterattribute

13
推荐指数
1
解决办法
1万
查看次数