2016-05-23 110 views
0

我有一個索引操作及其相應的頁面。
控制器點擊後退按鈕後,保留搜索數據

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; 

並給會話變量搜索。在我的項目中,所有行動將在完成行動功能後重定向到索引行動。在這種情況下,所有數據都應該被提取,但是會話變量將被搜索並且正在顯示搜索數據。我想在點擊返回按鈕時顯示搜索數據,並顯示重定向的所有數據。
在此先感謝

+0

後退按鈕是什麼?瀏覽器後退按鈕? –

+0

是的,瀏覽器後退按鈕 – anand

+0

當您點擊後退按鈕時,它會轉到您的索引操作? –

回答

-1

您可以將[OutputCache(NoStore = true, Duration = 0)]放在您想要在服務器上點擊後退按鈕時要點擊的操作。在不緩存頁面的情況下,瀏覽器將嘗試訪問服務器以獲取內容,而不是將以前的內容加載到瀏覽器緩存中,這不會影響控制器操作。

+0

它不起作用 – anand

+0

解釋發生了什麼? –

+0

點擊後退按鈕,搜索數據不會保留 – anand