Возможно, вы служите, мне не очень нравится, но это единственное, о чем я могу думать:
public static class RedirectToRouteResultExtensions
{
private static IDictionary<RedirectToRouteResult, bool> typeRoute;
public static RedirectToRouteResult SetRouteRequested(this RedirectToRouteResult redirectToRouteResult, bool value)
{
if (typeRoute == null)
{
typeRoute = new Dictionary<RedirectToRouteResult, bool>();
}
typeRoute[redirectToRouteResult] = value;
return redirectToRouteResult;
}
public static bool IsRouteRequested(this RedirectToRouteResult redirectToRouteResult)
{
if (typeRoute == null)
{
return false;
}
return typeRoute.ContainsKey(redirectToRouteResult)
? typeRoute[redirectToRouteResult]
: false;
}
}
Пример:
return RedirectToRoute("MyRouteName").SetRouteRequested(true);
return RedirectToAction("SomeAction", "SomeController");
* Редактировать решение II*
До return RedirectToRoute("MyRouteName")
Вы можете добавить информацию в заголовок ответа:
HttpContext.Response.Headers.Add("CustomRoute", "1");
return RedirectToRoute("MyRouteName");
...
public bool IsRouteRequested()
{
if (HttpContext.Response.Headers["CustomRoute"] != null &&
HttpContext.Response.Headers["CustomRoute"] == "1")
return true;
return false;
}