2016-05-30 6 views
0

ページがロードされた後でもarraylistの値を保持する方法はありますか?ページがリフレッシュまたはリロードされるときにC#でarraylistの値を保持するコードはありません

Http Cookieも試しましたが、見つけられませんでした。 Plsヘルプ

for (int i = 1; i <= random2; i++) 
      { 
       // int total_checkbox = Total_Count_Checkbox; 


       int div = (int)al[i - 1]/10; //div is the page number of the element 
       int mod = (int)al[i - 1] % 10; //mod is checkbox number of the element 

       if (mod == 0)  //for checking inf the number comes to be 10 
       { 
        div = div - 1; 
        mod = 10; 
       } 
       if (div == 0) 
       { 
        LiSt3[mod - 1].Click();   //Clicking for the same page elements 
       } 
       else 
       { 
        for (int b = 2; b <= div; b++)   //checking for the other pages 
        { 
         Browser.Click("Saved_Estimates", "Forward_Link_normal"); 
         Thread.Sleep(1000); 
        } 
        IList<IWebElement> LiSt4 = driver.FindElements(By.CssSelector(".checkbox.checkbox-success.ng-scope")); 
        LiSt4[mod - 1].Click();    //clicking for the other page elements 
       } 
       Browser.WaitforthePageLoad(); 
       IList<IWebElement> LiSt_of_Names_Summary_List = driver.FindElements(By.CssSelector("span[data-bo-bind='item.Name']")); 
       IList<IWebElement> LiSt_of_Dates_List = driver.FindElements(By.CssSelector("span[data-bo-bind='item.GeneratedDateString']")); 
       IList<IWebElement> LiSt_of_Times_List = driver.FindElements(By.CssSelector("span[data-bo-bind='item.GeneratedTimeString']")); 
       IList<IWebElement> LiSt_of_Last_Day_Worked_List = driver.FindElements(By.CssSelector("div[data-bo-bind='item.LastDayWorkedDateString']")); 
       IList<IWebElement> LiSt_of_Benifit_Commencement_List = driver.FindElements(By.CssSelector("div[data-bo-bind='item.BenefitCommencementDateString']")); 
       Browser.WaitforthePageLoad(); 

       LiSt_of_Names_Summary_List_Arraylist.Add(LiSt_of_Names_Summary_List[mod - 1]); 
       LiSt_of_Dates_List_Arraylist.Add(LiSt_of_Dates_List[mod - 1]); 
       LiSt_of_Times_List_Arraylist.Add(LiSt_of_Times_List[mod - 1]); 
       LiSt_of_Last_Day_Worked_List_Arraylist.Add(LiSt_of_Last_Day_Worked_List[mod - 1]); 
       LiSt_of_Benifit_Commencement_List_Arraylist.Add(LiSt_of_Benifit_Commencement_List[mod - 1]); 

       if (div != 0) 
       { 
        for (int b = 2; b <= div; b++) 
        { 
         Browser.Click("Saved_Estimates", "Back_Arrow_normal"); 
         Thread.Sleep(1000); 
        } 
       } 
      } 
+0

このコードはいつ実行されますか? onpageload?または何?ユーザーの操作に応答して実行されるコードですか?またはページが読み込まれるたびに実行されますか? –

+0

yes on page load、1ページに10のオプションがあり、任意のページからランダムに3つを選択する必要があります。 1回の反復では問題ありませんが、別の反復では[0]番目のインデックスの最初の値が失われ、同様に2番目の反復で[1]番目の値も失われます。しかし、私はすべての値が必要です –

+0

あなたは、ユーザーが1ページで質問に答えて、あなたはその情報が次のページの負荷のために保存される必要があると言っていますか?等々? はいの場合は、セッション変数に精通していますか? –

答えて

0

セッション変数を使用します。この方法でさまざまな情報を保存することができます。また、データベース内で情報をより詳細に保存して保存することもできます。

AngularJSやJSONオブジェクトなどを使用することもできます。どの程度精巧にしたいのですか。

1

セッションの助けを借りて簡単に行うことができます。

セッション状態を使用すると、保存し、ユーザーがWebアプリケーションでASP.NETページをナビゲート ように、ユーザーの値を取得することができます。 HTTPは ステートレスプロトコルです。これは、Webサーバーが各HTTP の要求を独立した要求として処理することを意味します。セッションの詳細については

次のリンクにアクセスしてください: Session

あなたがセッションに任意の型を格納したい場合は、ちょうどこの

ArrayList aryList=new ArrayList(); 
aryList.Add(Sample); 
aryList.Add(Test); 
//to store the array list to the session 
Session["AryList"] = aryList; 
//or if you have a class file then 
HttpContext.Current.Session["AryList"] = aryList; 
//to get the values from the session 
ArrayList aryList= (ArrayList)Session["AryList"]; 
のようなセッションに割り当てる必要がありますより多くのヘルプについて

は、次の質問を参照してください。 ArrayList Session

それはあなたを助けることを願っています。

+0

には、セッション用に事前定義された名前空間があります。私はSystem.webで試しましたが、現在のコンテキストではまだ "Session"という名前が表示されていません –

+0

http://stackoverflow.com/questions/6969563/session-does-not-exist-in-the-current-context Goこの答えにはあなたを助けるでしょう。 それともコードビハインドページかクラスファイルか教えてください。 答えが役に立つ場合は、それを受け入れたものとしてマークします。 –

+0

私はセッションを一度チェックして編集しました。 –

関連する問題