日期:2014-05-17  浏览次数:20474 次

将数据源分页绑定到repeater控件后,发现点击下一页session丢失
如题,如果我不点击下一页,则session不会丢失,一旦点击了下一页,session就没了。
我的分页代码如下:
C# code

                PagedDataSource Pgds = new PagedDataSource();
                Pgds.DataSource = ds.Tables["quizze_list"].DefaultView; 
                Pgds.AllowPaging = true;
                Pgds.PageSize = 45;
                lblTotalPage.Text = Pgds.PageCount.ToString();
                int current_page;
                if (Request.QueryString["Page"] != null)
                {

                    current_page = Convert.ToInt32(Request.QueryString["Page"]);
                }

                else
                {

                    current_page = 1;
                }
                //   当前页所引为页码-1
                Pgds.CurrentPageIndex = current_page - 1;
                //   显示当前页码
                lblCurrentPage.Text = current_page.ToString();
                //   如果不是第一页,通过参数Page设置上一页为当前页-1,否则不显示连接
                if (!Pgds.IsFirstPage)
                {
                    //            Request.CurrentExecutionFilePath为当前请求虚拟路径
                    lnkPrev.NavigateUrl = Request.CurrentExecutionFilePath + "?Page=" + Convert.ToString(current_page - 1);
                }
                //        End If
                //   如果不是最后一页,通过参数Page设置下一页为当前页+1,否则不显示连接
                if (!Pgds.IsLastPage)
                {
                    //    Request.CurrentExecutionFilePath为当前请求虚拟路径
                    lnkNext.NavigateUrl = Request.CurrentExecutionFilePath + "?Page=" + Convert.ToString(current_page + 1);
                }



                corp_quizze_list.DataSource = Pgds;
                corp_quizze_list.DataBind();


我的webconfig配置文件中session的设置如下:
<system.web>
  <sessionState mode="StateServer" stateConnectionString="tcpip=127.0.0.1:42424" sqlConnectionString="data source= 127.0.0.1;Trusted_Connection=yes" cookieless="true" timeout="30">
  </sessionState>
  </system.web>
其中asp.net状态服务也已经开启了。

------解决方案--------------------
关session什么事呢?

你Request.QueryString["Page"]始终是第一次加载的值吧?
------解决方案--------------------
探讨

引用:

关session什么事呢?

你Request.QueryString["Page"]始终是第一次加载的值吧?

我绑定的datatable需要根据session中的值来确定的,所以当点击下一页的时候,由于session丢失,显示的是空白。如果我的datatable不根据session的值来确定,下一页仍旧是有内容的,可以正常显示。