J'utilise ce code pour déterminer si ma page est actualisée mais il est toujours revenir comme vraiActualiser détecter filtre est toujours vrai
public class RefreshDetectFilter : ActionFilterAttribute, IActionFilter
{
//void IActionFilter.OnActionExecuting(ActionExecutingContext filterContext)
public override void OnActionExecuting(ActionExecutingContext filterContext)
{
var cookie = filterContext.HttpContext.Request.Cookies["RefreshFilter"];
filterContext.RouteData.Values["IsRefreshed"] = cookie != null &&
cookie.Value == filterContext.HttpContext.Request.Url.ToString();
}
//void IActionFilter.OnActionExecuted(ActionExecutedContext filterContext)
public override void OnActionExecuted(ActionExecutedContext filterContext)
{
filterContext.HttpContext.Response.SetCookie(new HttpCookie("RefreshFilter", filterContext.HttpContext.Request.Url.ToString()));
}
}
dans mon contrôleur je l'attribut et la vérification
[RefreshDetectFilter]
public class UserController : Controller
dans la méthode d'action
if (Convert.ToBoolean(RouteData.Values["IsRefreshed"]) == true)
{
// page has been refreshed.
}