2016-03-23 19 views
2

現在のリクエストがそのURLがコントローラのインデックスページをターゲットにしているかどうかを確認する方法を誰かが知っていますか?現在のリクエストURLがコントローラのインデックスであるかどうかを調べる

私のアプリケーションでは、インデックスページごとに約30のコントローラがあります。 OnActionExecutingイベントの各リクエストにCookieを設定するActionFilterがあります。しかし、私はそれがユーザーがインデックスページを訪問するときにのみ設定されます。私は次のURLのすべてがインデックスを返すことを知っています。

誰もがこれをチェックする最善の方法を知っていますか?

誰もが尋ねる前に、私が使用しているの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())); 
    } 
} 

種類のよろしくと感謝、 ヤニック

答えて

1

あなたは関係なく、このような現在のアクションを得ることができますアクション名を含むURL:

filterContext.RouteData.Values["action"] 
+0

私はこれを試しましたが、私がリストしたすべての3つのURLリクエストがアクションとして返されるようです。ありがとう! – Yan

関連する問題