Asp.net mvc 4 重定向后如何将数据保留在ActionFilterAttribute中
我正在开发ASP.NETMVC4应用程序。我已经创建了自定义过滤器,其目的是调用显示加载程序图像的页面。过滤器如下所示:Asp.net mvc 4 重定向后如何将数据保留在ActionFilterAttribute中,asp.net-mvc-4,Asp.net Mvc 4,我正在开发ASP.NETMVC4应用程序。我已经创建了自定义过滤器,其目的是调用显示加载程序图像的页面。过滤器如下所示: public override void OnActionExecuting(ActionExecutingContext filterContext) { var useLoader = filterContext.RouteData.Values["ul"] as string; if (string.Is
public override void OnActionExecuting(ActionExecutingContext filterContext)
{
var useLoader = filterContext.RouteData.Values["ul"] as string;
if (string.IsNullOrWhiteSpace(useLoader))
{
var view = new ViewResult()
{
ViewName = "DisplayLoader"
};
view.ViewData.Model = filterContext.HttpContext.Request.Url.PathAndQuery;
view.TempData["ul"] = "1";
filterContext.Result = view;
}
}
在DisplayLoader
视图中,我只需执行以下操作:
@model string
<script type="text/javascript">window.location = '@Html.Raw(Model)';</script>
@模型字符串
window.location='@Html.Raw(Model)';
但问题是在重定向之后,
useLoader
值总是null
。有办法保存这些数据吗?什么是useLoader
?您希望保留哪些数据?哪里对于您当前的代码,它将执行一个不间断的重定向循环。@Shyju好吧,我认为代码中很清楚,但是useLoader
实际上是我想从重定向中获取持久值的部分。正如您所见,我在TempData
中使用了键[ul]
,并且在代码中是我在重定向后尝试检查此键的多种方法之一,以准确地逃离infinite循环,但我无法设置ul
键,并在窗口。location
重定向后将其取回。