单击“上一步”按钮后,保留搜索数据

时间:2016-05-23 08:11:48

标签: asp.net-mvc session search back

我有一个索引动作及其相应的页面 控制器

    public ActionResult Index(int? page, string searchString, string searchField)
    {
         var data = --data from db--
         ViewBag.searchString = searchString;
         ViewBag.searchField = searchField;
         int pageSize = 15;
         int pageNumber = (page ?? 1);
         if (!String.IsNullOrEmpty(searchString))
            {
                switch (searchField)
                {
                    case "firstname":
                    data = data.where(x => x.firstname == searchString);
                    break;
                    case "lastname":
                    data = data.where(x => x.lastname == lastname);
                    break;
                    default:
                    data = data.where(x => x.firstname == searchString);
                    break;
                }
            }

            if (Request.IsAjaxRequest())
            {
                switch ()
                {
                   code for ajax search call
                }
            }

            return View(code for view);      
    }

我尝试使用会话变量存储搜索数据。像

Session["searchString"] = searchString;
Session["searchField"] = searchField;

并提供会话变量以进行搜索。在我的项目中,所有操作将在完成操作功能后重定向到索引操作。在这种情况下,应该获取所有数据,但会搜索会话变​​量并显示搜索数据。我想在点击后退按钮时显示搜索到的数据,并显示重定向的所有数据 提前致谢

1 个答案:

答案 0 :(得分:-1)

单击后退按钮后,您可以将[OutputCache(NoStore = true, Duration = 0)]放在要在服务器上点击的操作上。如果不缓存页面,浏览器将尝试访问服务器以获取内容,而不是在浏览器缓存中加载以前的内容,这些内容不会触及控制器操作。