2013-02-28 2 views
2

отладки сообщение всегда следующие после нажатия на кнопку Далее кнопка много раз, он может перейти от страницы 1 к странице 2, но не может перейти на страницу 3сессия по-прежнему то же самое после редактируемого

наконец я нашел проблема

Session["jobsearch"] = js; 

он сохранен, но в следующий раз я получить это, как не сохранены до

отлаживать сообщение

before js.CurrentPageNo=1 
after js.CurrentPageNo=2 
js.StartIndex=13 
js.PageSize=24 
js.TotalPageFound=5 
js.CurrentPageNo=2 
rowPerPage=12 
before js.CurrentPageNo=1 
after js.CurrentPageNo=2 
js.StartIndex=13 
js.PageSize=24 
js.TotalPageFound=5 
js.CurrentPageNo=2 
rowPerPage=12 


js.StartIndex=13js.PageSize=24js.TotalPageFound=5js.CurrentPageNo=2rowPerPage=12 
js.StartIndex=13js.PageSize=24js.TotalPageFound=5js.CurrentPageNo=2rowPerPage=12 
js.StartIndex=13js.PageSize=24js.TotalPageFound=5js.CurrentPageNo=2rowPerPage=12 
js.StartIndex=13js.PageSize=24js.TotalPageFound=5js.CurrentPageNo=2rowPerPage=12 

следующий код кнопки

protected void btnNext_OnClick(object sender, EventArgs e) 
    { 
     if (Session["jobsearch"] != null) 
     { 
      JobSearch js = (JobSearch)Session["jobsearch"]; 
      js.CurrentPageNo++; 
      js.StartIndex = js.StartIndex + rowPerPage; 
      js.PageSize = js.PageSize + rowPerPage; 

      Session["jobsearch"] = js; 
      if (jobResultsTable.DocumentContent.Contains("Jobs In Engineering")) 
      { 
       Session["jobsearch2"] = "Jobs In Engineering"; 
      } 
      else 
      { 
       Session["jobsearch2"] = "Jobs In IT"; 
      } 

      System.IO.File.AppendAllText(@"D:\Debug.txt", "js.StartIndex=" + js.StartIndex); 
      System.IO.File.AppendAllText(@"D:\Debug.txt", "js.PageSize=" + js.PageSize); 
      System.IO.File.AppendAllText(@"D:\Debug.txt", "js.TotalPageFound=" + js.TotalPageFound); 
      System.IO.File.AppendAllText(@"D:\Debug.txt", "js.CurrentPageNo=" + js.CurrentPageNo); 
      System.IO.File.AppendAllText(@"D:\Debug.txt", "rowPerPage=" + rowPerPage); 

      GetJobSearchBOResult(js.StartIndex, js.PageSize, js.JobType, js.JobCountry, js.Keywords); 

      ShowButton(js.CurrentPageNo, js.TotalPageFound); 

      ltrPageInfo.Text = "Page " + js.CurrentPageNo + " of " + js.TotalPageFound.ToString() + "<br/> Total Record(s) Found: " + TotalJobFound; 
     } 
    } 

ответ

2

Держу пари, что

(JobSearch)Session["jobsearch"]; 

это сбрасывается каждый Pageload либо в вашей страницы нагрузки обработки события или инициализации обработки события.

Помните, что эти два события срабатывают при каждой обратной передаче.

Вам может понадобиться проверить if (!Page.IsPostBack){ /*Only Init jobsearch here */ } в вашей нагрузке/инициализации обработчиков

Я бы установить контрольную точку, где у вас есть код, который сбрасывает или инициализирует свои переменные сессии, а затем увидеть, если эти контрольные точки поражаются чаще, чем вы думаете ,

Смежные вопросы