为了配合别的工作内容,我需要参数重新刷新页面来操作。  url.aspx?page=3&sele=2    
但是这个控件AspNetPager 永远是显示在选择了第一页状态;  而内容是正确的,是网地址对应的那一页面内容。我点击ASPNETPAGER 控件换页,  url.aspx?page=5 变化, 内容也正确,就是该控件还是处于第一页。  晕死了
 protected void Page_Load(object sender, EventArgs e)
    {
        title = ms.setwebtitle();
        if (!IsPostBack)
        {
            try
            {
                vpage = int.Parse(Request.Params["Page"]);
            }
            catch
            {
                vpage = 1;
            }
            try
            {
                vsele = int.Parse(Request.Params["SELE"]);
            }
            catch
            {
                vsele = 1;
            }            
            DataBind(create_sql(), vpage);
        }    } protected void AspNetPager1_PageChanging(object src, Wuqi.Webdiyer.PageChangingEventArgs e)
    {
      AspNetPager1.CurrentPageIndex = e.NewPageIndex;
        string ulr1 = "Yfrw_default.aspx?Page={0}&SELE={1}";
        ulr1 = string.Format(ulr1,e.NewPageIndex, vsele);
        Response.Redirect(ulr1);
    }  public void DataBind(string s, int i) //S是sql语句,i是第几页
    {       
           
        GridView1.DataKeyNames = new string[] { "BH" };//主键
        GridView1.DataBind();
       // AspNetPager1.CurrentPageIndex = i;   //如果加了这一句就会无限等待好比死机一样没返回页面显示
        AspNetPager1.RecordCount = int.Parse(ds.Tables[1].Rows[0][0].ToString());
        
    }   

解决方案 »

  1.   

    我查出了一点规律;  就是只有去触发了AspNetPager1_PageChanging事件,  该控件的选定页才会显示高标红色。 不然的话就不选的。  你在其它模块中 执行 AspNetPager1.CurrentPageIndex = i   的话也会触发这个事件。
      

  2.   

    AspNetPager官方有例子,还是先照着例子照猫画虎之后再说吧。。
      

  3.   


    能具体一一下下吗?
    因为我发现  AspNetPager1_PageChanging () 里只要执行Response.Redirect(ulr1);当前页就不被赋值。  只要是调用其它页面内函数的,这个当前页就可以被选定并显示。