我试图开发一个自定义操作过滤器来检查 cookie 是否启用。如果未启用 cookie,则将使用重定向到特定的错误页面。这是我的代码。
public class CheckCookieAttribute : FilterAttribute, IActionFilter
{
public string prmAction{get;set;}
public string prmController{get;set;}
public void OnActionExecuting(ActionExecutingContext filterContext)
{
if(filterContext.HttpContext.Request.Cookie["YourCookie"]==null)
{
filterContext.Result = controller.RedirectToAction(prmAction,prmController)
}
}
public void OnActionExecuted(ActionExecutedContext filterContext)
{
//The action filter logic - after
}
}
现在我正在使用喜欢
[CheckCookie(prmAction="MyAction",prmController="MyController")]
由于缺乏良好的知识,我无法为 cookie 启用或禁用开发属性驱动检查。
我想以这样的方式开发代码,因此我不应该传递任何控制器名称或动作名称。我喜欢使用类似的代码
[HttpPost]
[CheckCookieAttribute]
public ActionResult Save(Person oPerson)
{
return View();
}
[CheckCookieAttribute]
public class HomeController : Controller
{
public ActionResult Index()
{return View();}
public ActionResult About()
{return View();}
}
}
我不会提供任何控制器名称或操作名称。只是指导我在我的代码中需要更改的内容。谢谢