2011-04-05 127 views
1

我有自定义的AuthorizeAttribute,如下所示:Handling session timeout in ajax calls 它很好用。但是登录的操作帐户控制器具有returnURL参数ASP.NET MVC。在LogON之后,它返回到最后一页(returnURL)。现在我想对数据如下如果返回:返回ControllerName + ActionName的自定义授权属性

if (filterContext.HttpContext.Request.IsAjaxRequest()) 
      { 
       if (!filterContext.HttpContext.User.Identity.IsAuthenticated) 
       { 

    filterContext.Result = new JsonResult 
         { 
          Data = new 
          { 
           // put whatever data you want which will be sent  
           // to the client  
           message = "/Account/LogON/?returnUrl=" + filterContext.ActionDescriptor.ControllerDescriptor.ControllerName + "/" + filterContext.ActionDescriptor.ActionName 
          }, 
          JsonRequestBehavior = JsonRequestBehavior.AllowGet 
         }; 
       } 
      } 

但你可以在这里看到,它返回ActionName它通过AJAX。但我想回到基地ActionName调用。请指教我。我有一些想法作为隐藏的价值或从javascript.windows.location获取ActionName。但我认为这不是个好主意。 问的问题,如果你不明白我的问题

+1

你的意思是在基地行动的名字吗? – archil 2011-04-06 07:23:41

+0

可以说我在产品控制器的列表动作。并用ajax调用产品控制器的GetAjax Action。我想收到/ Products/List not/Products/GetAjax – AEMLoviji 2011-04-06 07:50:37

回答