有人知道一种检查当前请求其URL是否定位到控制器索引页的方法吗?
在我的应用程序中,我有大约30个控制器,每个控制器都有一个索引页我有一个ActionFilter,它在OnActionExecuting事件中为每个请求设置一个cookie。但是我希望仅在用户访问索引页面时才设置它。我知道以下所有网址都会返回索引;
任何人都知道检查这个的最好方法吗?
在有人询问之前,我使用的ActionFilter如下:
public class RefreshDetectFilter : IActionFilter
{
public void OnActionExecuting(ActionExecutingContext filterContext)
{
var cookie = filterContext.HttpContext.Request.Cookies["RefreshFilter"];
filterContext.RouteData.Values["IsRefreshed"] = cookie != null && cookie.Value == filterContext.HttpContext.Request.Url.ToString();
}
public void OnActionExecuted(ActionExecutedContext filterContext)
{
filterContext.HttpContext.Response.SetCookie(new HttpCookie("RefreshFilter", filterContext.HttpContext.Request.Url.ToString()));
}
}
亲切的问候和提前谢谢, 的Yannick
答案 0 :(得分:1)
您可以像这样获取当前的Action,无论是否包含操作名称的URL:
filterContext.RouteData.Values["action"]