asp.net-mvc – ASP.NET MVC如何实现返回上一页的链接?
发布时间:2021-02-20 06:46:38  所属栏目: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-mvc – 在MVC4中为ViewModel设置默认值的适当方法?
 - asp.net – 如何访问Global.asax静态成员?
 - 在ASP.net中使用NVP API时,PayPal SetExpressCheckout存在问
 - asp.net-mvc – 如何通过URL传递日期,为我的Action读取MVC?
 - asp.net-mvc – asp.net mvc如何正确测试控制器
 - asp.net – 在为app_offline.htm提供特定URL时,将http状态5
 - asp.net – 手动更新表单认证券:
 - asp.net – SQL Server查询从ADO.NET运行速度比SSMS慢
 - asp.net-mvc-3 – Azure网站上的RavenDb – 访问被拒绝
 - asp.net-mvc-2 – 如何使用Castle Windsor在MVC中注入UrlHe
 
推荐文章
            站长推荐
            - asp.net – HttpWebRequest正在为404抛出异常
 - c#中分布方法和分部类
 - 从ASP.NET MVC应用程序中的Amazon SES发送电子邮
 - asp.net中利用Jquery+Ajax+Json实现无刷新分页的
 - 将搜索框添加到ASP.Net动态数据列表页面
 - asp.net-mvc – 如何在asp.net mvc3项目中开始使
 - 如何为Asp.Net中的所有子文件夹注册HttpHandler?
 - asp.net – 无法加载类型’site._Default[已关闭
 - asp.net-mvc – LiveReload ASP.net MVC Web应用
 - asp.net mvc – 如何实现面包屑助手在asp.net mv
 
热点阅读
            