小弟现在碰到一难题,在同一个页面上使用两个同一类型的自定义分页控件,控件里面有两个静态的变量.一个页码的静态的变量,一个是查询条件的静态变量,在同一页面使用时,总是发生数据冲突.
比如:第一个分页的页码变量,变化了,第二个分页控件的页码变量也会发生变化.如何避免不管同一个页面上有多少个相同的分页控件,都不会相互影响呢?
急,盼快解答.
                  private static int pagenumber;
int sumcount=12;
private int intre;
private string tablename;
private string filed;
private object dblist;
private static string strwhere;

protected System.Web.UI.WebControls.LinkButton lb_next;
protected System.Web.UI.WebControls.LinkButton lb_pre;
protected System.Web.UI.WebControls.LinkButton lb_last;
protected System.Web.UI.WebControls.Label Label2;
protected System.Web.UI.WebControls.LinkButton lb_first;

//public 
/// <summary>
/// 取得显示控件类型
/// </summary>

public object getobject
{
get {return this.dblist;}
set {this.dblist=value;}
}
/// <summary>
///     取得查询条件(字段名+查询值)
/// </summary>
public  string StrWhere
{
get {return strwhere;}
set {strwhere=value;}
}
/// <summary>
///    设置或获取初始化页码(PageNumber=1)
/// </summary>
public int PageNumber
{
get {
if (pagenumber>int.Parse(this.pagecount()))
{
pagenumber-=1; } 
 return pagenumber;
    }
set {pagenumber=value;} }=============================================================================protected wlweb.webapp.UserContorl.PageContorl pdc=new PageContorl();
protected wlweb.webapp.UserContorl.PageContorl pck=new PageContorl();
protected System.Web.UI.WebControls.DataList Datalist1;
protected User emp;
   
private void Page_Load(object sender, System.EventArgs e)
{
emp=(User)Session["emp"];
if(emp!=null)
{
if ( !Page.IsPostBack )
{
pdc.PageNumber=1;
pdc.StrWhere=null;
pck.PageNumber=1;
pck.StrWhere=null;

} pdc.getobject=Dlist;
pdc.TableName="V出货单";
pdc.Filed="货物编号";
pdc.bindata(); pck.getobject=Datalist1;
pck.TableName="V出货单";
pck.Filed="货物编号";
pck.bindata();

}

解决方案 »

  1.   

    把分页控件的静态变量改为属性用VIEWSTATE存取.
      

  2.   

    确实得用ViewState,同意楼上的。再有你的查询条件也可放在ViewState中。
    ViewState["pagenumber1"]
    ViewState["pagenumber2"]
      

  3.   

    private static string strwhere---对吧?
    两个静态变量可以用<INPUT id="h1" type="hidden" runat="server">,<INPUT id="h2" type="hidden" runat="server">
    代替
      

  4.   

    不用使用静态变量,使用ViewState的属性即可。
      

  5.   

    各位大哥,ViewState是哪个对象的方法?盼指点....
      

  6.   

    问题解决了,用ViewState果然行了,两个控件的页码没有互相影响了.小弟谢谢各位大哥了.