首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

关于分页的全局变量解决方法

2012-02-28 
关于分页的全局变量我做了一个分页程序,但多个人同时触发服务器的时候,分页的时候,出现问题,比如:10个人同

关于分页的全局变量
我做了一个分页程序,但多个人同时触发服务器的时候,分页的时候,出现问题,比如:10个人同时点击下一页了,当第11个人从第一页点击的时候,就直接跳到11了,我想可能是全局变量的问题。请高手指教,核心代码如下:
        #region   用于首页的显示
        protected   void   LinkButton1_Click(object   sender,   EventArgs   e)
        {
                cpage   =   1;
                Pager   pg   =   new   Pager();
                DataSet   ds   =   new   DataSet();
            //     ds   =   pg.GetCurrentDataSet( "Supply_id,Supply_name,Supply_area,Supply_type,Supply_Linkman,Supply_issuance ",   " ",   "Supply_id ",   "supply ",   1,   30,   cpage);
                s_name   =   hidden1.Value;
                s_sort   =   hidden2.Value;
                s_prev   =   hidden3.Value;
         


                if   (s_name   !=   " "   ||   s_sort   !=   " "   ||   s_prev   !=   " ")
                {
                        ds   =   pg.GetCurrentDataSet( "Supply_id,Supply_name,Supply_area,Supply_type,Supply_Linkman,Supply_issuance ",   s_name,   s_prev,   s_sort,   "Supply_id ",   "Supply ",   1,   pagesize,   cpage);

                }
                else
                {

                        ds   =   pg.GetCurrentDataSet( "Supply_id,Supply_name,Supply_area,Supply_type,Supply_Linkman,Supply_issuance ",   " ",   " ",   " ",   "Supply_id ",   "Supply ",   1,   pagesize,   cpage);

                }
         
               
               
                bind(ds);
                Gethl();
                DropDownList1.ClearSelection();
                DropDownList1.Items.FindByValue(cpage.ToString()).Selected   =   true;
        }
   
        #endregion
        #region   用于尾页的显示
        protected   void   LinkButton4_Click(object   sender,   EventArgs   e)
        {
                cpage   =   Last_Page   +   1;
                Pager   pg   =   new   Pager();
                DataSet   ds   =   new   DataSet();


                //ds   =   pg.GetCurrentDataSet( "Supply_id,Supply_name,Supply_area,Supply_type,Supply_Linkman,Supply_issuance ",   " ",   "Supply_id ",   "supply ",   cpage,   30,   cpage);


                s_name   =   hidden1.Value;
                s_sort   =   hidden2.Value;
                s_prev   =   hidden3.Value;
         
                if   (s_name   !=   " "   ||   s_sort   !=   " "   ||   s_prev   !=   " ")
                {
                        ds   =   pg.GetCurrentDataSet( "Supply_id,Supply_name,Supply_area,Supply_type,Supply_Linkman,Supply_issuance ",   s_name,   s_prev,   s_sort,   "Supply_id ",   "supply ",   cpage,   pagesize,   cpage);

                }
                else
                {

                        ds   =   pg.GetCurrentDataSet( "Supply_id,Supply_name,Supply_area,Supply_type,Supply_Linkman,Supply_issuance ",   " ",   " ",   " ",   "Supply_id ",   "supply ",   cpage,   pagesize,   cpage);

                }
         
               
               
                bind(ds);
                Gethl();
                DropDownList1.ClearSelection();
                DropDownList1.Items.FindByValue(cpage.ToString()).Selected   =   true;
        }


     

        #endregion

        #region   用于上一页的显示

        protected   void     LinkButton2_Click(object   sender,   EventArgs   e)
{
       
          cpage=cpage-1;

                        Pager   pg   =   new   Pager();
DataSet   ds=new   DataSet();


                        //ds   =   pg.GetCurrentDataSet( "Supply_id,Supply_name,Supply_area,Supply_type,Supply_Linkman,Supply_issuance ",   " ",   "Supply_id ",   "supply ",   cpage,   30,   cpage);

                        s_name   =   hidden1.Value;
                        s_sort   =   hidden2.Value;


                        s_prev   =   hidden3.Value;

                        if   (s_name   !=   " "   ||   s_sort   !=   " "   ||   s_prev   !=   " ")
                        {
                                ds   =   pg.GetCurrentDataSet( "Supply_id,Supply_name,Supply_area,Supply_type,Supply_Linkman,Supply_issuance ",   s_name,   s_sort,   s_prev,   "Supply_id ",   "supply ",   cpage,   pagesize,   cpage);

                        }
                        else
                        {

                                ds   =   pg.GetCurrentDataSet( "Supply_id,Supply_name,Supply_area,Supply_type,Supply_Linkman,Supply_issuance ",   " ",   " ",   " ",   "Supply_id ",   "supply ",   cpage,   pagesize,   cpage);

                        }
         
               
                bind(ds);
Gethl();
DropDownList1.ClearSelection();
DropDownList1.Items.FindByValue(cpage.ToString()).Selected=true;


                }
        #endregion
                #region   用于下一页的显示
                protected   void     LinkButton3_Click(object   sender,   EventArgs   e)
{
        cpage=cpage+1;
    Pager   pg=new   Pager();
DataSet   ds=new   DataSet();

                        s_name   =   hidden1.Value;
                        s_sort   =   hidden2.Value;
                        s_prev   =   hidden3.Value;
         

                      //   ds   =   pg.GetCurrentDataSet( "Supply_id,Supply_name,Supply_area,Supply_type,Supply_Linkman,Supply_issuance ",   " ",   "Supply_id ",   "supply ",   cpage,   30,   cpage);

                        if   (s_name   !=   " "   ||   s_sort   !=   " "   ||   s_prev   !=   " ")
                        {
                                ds   =   pg.GetCurrentDataSet( "Supply_id,Supply_name,Supply_area,Supply_type,Supply_Linkman,Supply_issuance ",   s_name,   s_prev,   s_sort,   "Supply_id ",   "supply ",   cpage,   pagesize,   cpage);



                        }
                        else
                        {

                                ds   =   pg.GetCurrentDataSet( "Supply_id,Supply_name,Supply_area,Supply_type,Supply_Linkman,Supply_issuance ",   " ",   " ",   " ",   "Supply_id ",   "supply ",   cpage,   pagesize,   cpage);

                        }
         
                        bind(ds);
Gethl();
DropDownList1.ClearSelection();
DropDownList1.Items.FindByValue(cpage.ToString()).Selected=true;

                }
                #endregion
                #region   Dropdownlist的转向分页
                protected   void     DropDownList1_SelectedIndexChanged(object   sender,   EventArgs   e)
{
        cpage=Convert.ToInt32(DropDownList1.SelectedValue);
    Pager   pg=new   Pager();
DataSet   ds=new   DataSet();
                        //ds   =   pg.GetCurrentDataSet( "Supply_id,Supply_name,Supply_area,Supply_type,Supply_Linkman,Supply_issuance ",   " ",   "Supply_id ",   "supply ",   cpage,   30,   cpage);


                        if   (s_name   !=   " "   ||   s_sort   !=   " "   ||   s_prev   !=   " ")
                        {
                                ds   =   pg.GetCurrentDataSet( "Supply_id,Supply_name,Supply_area,Supply_type,Supply_Linkman,Supply_issuance ",   s_name,   s_sort,   s_prev,   "Supply_id ",   "supply ",   cpage,   pagesize,   cpage);

                        }
                        else
                        {

                                ds   =   pg.GetCurrentDataSet( "Supply_id,Supply_name,Supply_area,Supply_type,Supply_Linkman,Supply_issuance ",   " ",   " ",   " ",   "Supply_id ",   "supply ",   cpage,   pagesize,   cpage);

                        }
         
                       
                        bind(ds);


Gethl();
                }

                #endregion
                //分页


        #region


#endregion

        #region   搜索
        protected   void   Button1_Click(object   sender,   EventArgs   e)
        {

                hidden1.Value   =   SqlZhuru.SQLzhuru(TextBox2.Text.ToString());
                hidden2.Value   =   Supply_area.Text.ToString();
                hidden3.Value   =   Supply_type2.Text.ToString();
                Databind_first();


        }
        #endregion  

       


        protected   void   Submit1_ServerClick(object   sender,   EventArgs   e)
        {
                Response.Redirect( "../member_page/user/mdealer/mdealer_issue.aspx ");
        }


        protected   void   preview(string   s_sql,DataGrid   gr)
        {
                SqlConnection   mycon   =   new   SqlConnection(System.Configuration.ConfigurationManager.AppSettings[ "Str_sql "].ToString());
                mycon.Open();
                SqlDataAdapter   pter   =   new   SqlDataAdapter(s_sql,   mycon);
                DataSet   ds   =   new   DataSet();
                pter.Fill(ds, "tablename ");
                gr.DataSource   =   ds.Tables[ "tablename "];
                gr.DataBind();
                ds.Dispose();
                mycon.Close();
       
        }


[解决办法]
因为你的全局变量(全部页数、当前页)任何一个访问者都共用 这样当然不行
你用session或ViewState保存 这样大家就不相干涉了 建议用ViewState 因为它只在当前页有效 否则同一用户在访问不同页面时可能也会出错

热点排行