2016-03-23 11 views
2

Kennt jemand eine Möglichkeit zu überprüfen, ob die aktuelle Anfrage seine URL auf einen Controller seiner Indexseite richtet?Überprüfen, ob die aktuelle Anfrage-URL der Controller-Index ist

In meiner Anwendung habe ich etwa 30 Controller mit jeweils einer Indexseite. Ich habe einen ActionFilter, der bei jeder Anfrage in seinem OnActionExecuting-Ereignis einen Cookie setzt. Ich möchte es jedoch nur festlegen, wenn der Benutzer eine Indexseite besucht. Ich bin mir bewusst, dass alle folgenden URLs den Index zurückgeben;

Wer weiß, der beste Weg, dies zu prüfen?

Bevor jemand fragt, die Action ich benutze ist die folgende:

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())); 
    } 
} 

Mit freundlichen Grüßen und vielen Dank im Voraus, Yannick

Antwort

1

Sie können die aktuelle Aktion wie diese erhalten, und zwar unabhängig von der URL, die den Aktionsnamen enthält oder nicht:

+0

Ich habe dies versucht und es scheint, dass alle 3 URL-Anfragen, die ich aufgelistet habe, "Index" als Aktion zurückgeben. Vielen Dank! – Yan

Verwandte Themen