2016-05-23 22 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);  
    } 

。 like

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

そしてセッション変数を検索します。私のプロジェクトでは、アクション関数を完了した後、すべてのアクションがインデックスアクションにリダイレクトされます。このシナリオでは、すべてのデータをフェッチする必要がありますが、セッション変数が検索され、検索されたデータが表示されます。私は、戻るボタンをクリックして検索したデータを表示し、リダイレクトのすべてのデータを表示したい。
ありがとうございます。

+0

戻るボタンは何ですか?ブラウザの戻るボタン? –

+0

はい、ブラウザの戻るボタン – anand

+0

戻るボタンをクリックすると、インデックスアクションに移動しますか? –

答えて

-1

[OutputCache(NoStore = true, Duration = 0)]は、戻るボタンをクリックすると、サーバーでヒットしたいアクションに配置できます。ページをキャッシュすることなく、ブラウザーは、ブラウザーのキャッシュに以前のコンテンツをロードするのではなく、コントローラーのアクションにぶつからず、サーバーをヒットしてコンテンツを取得しようとします。

+0

それは動作しませんでした – anand

+0

何が起こったのですか? –

+0

戻るボタンをクリックすると、検索データは保持されません – anand

関連する問題