asp.net-mvc – ASP.NET MVC如何实现返回上一页的链接?
发布时间:2021-02-20 06:14:01 所属栏目:asp.Net 来源:互联网
导读:标题说了这一切. 一些背景: 我有一个搜索机制 – 搜索视图,搜索结果视图和详细信息视图(代表一个结果项,如webforms中的formview).我想在详细信息视图中有一个链接,它会将用户返回到搜索结果视图. 思路: 只是阅读有关TempData的信息,但我想这没有用,因为用户
标题说了这一切. 一些背景: 思路: 会话可能有效,但我不确定我应该如何处理它. 我不想用javascript来完成这个. 编辑: #region usages using System.Web.Mvc; using CompanyName.UI.UIApp.Infrastructure.Enums; #endregion namespace CompanyName.UI.UIApp.Infrastructure.Filters { /// <summary> /// Apply on action method to store URL of request in session /// </summary> public class RememberUrlAttribute : ActionFilterAttribute { public override void OnActionExecuting (ActionExecutingContext filterContext) { var httpContext = filterContext.HttpContext; if (httpContext.Request.RequestType == "GET" && !httpContext.Request.IsAjaxRequest()) { SessionManager .Save(SessionKey.PreviousUrl,SessionManager.Get(SessionKey.CurrentUrl) ?? httpContext.Request.Url); SessionManager .Save(SessionKey.CurrentUrl,httpContext.Request.Url); } } } } 顺便问一下.IsAjaxRequest()方法是如何工作的?它只了解MS AJAX,还是比它更聪明? 解决方法我认为你需要这样的自定义过滤器(未经过测试 – 目前没有VS):public class PrevUrlAttribute : ActionFilterAttribute { public override void OnActionExecuting(ActionExecutingContext filterContext) { var httpContext = filterContext.HttpContext; var session = filterContext.HttpContext.Session; if (httpContext.Request.RequestType == "GET" && !httpContext.Request.IsAjaxRequest()) { session["PrevUrl"] = session["CurUrl"] ?? httpContext.Request.Url; session["CurUrl"] = httpContext.Request.Url; } } } (编辑:十堰站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net(C#)禁止缓存文件不让文件缓存到客户端
- asp.net-mvc-4 – 表单身份验证:角色(MVC 4)C#
- asp.net-core – .NET Core SDK安装程序无法在Windows 2012
- 加快ASP.NET中的构建时间
- asp.net-mvc – 在ASP.NET MVC中添加服务引用4
- 验证 – Asp.Net MVC:子请求的执行失败.请查看InnerExcept
- asp.net中Session缓存与Cache缓存的区别分析
- 从ASP.NET应用程序使用Active Directory时,DirectoryServic
- 下载期间的ASP.net内存使用情况
- asp.net-mvc-4 – .net 4.5 ASP.Net web API JSONP支持