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

AspnetPager结合动态创建的GridView的有关问题

2012-11-21 
AspnetPager结合动态创建的GridView的问题我创建一个用户控件ascx,在该用户控件中动态创建了GridView,而且

AspnetPager结合动态创建的GridView的问题
我创建一个用户控件ascx,在该用户控件中动态创建了GridView,而且用AspNetPager实现了分页

现在碰到一个问题,就是在 aspx中注册该用户控件后,并在页面上新加一个查询按钮,目的是查询数据库

并将信息保存到Gv中,但当我点击该按钮后(按钮事件是空的,没做任何事)

GV反而没有分页效果了??

所有记录都显示在一页中,而且列也不对了

我跟踪了下代码,定位到问题所在,即首次运行时,触发了AspNetPager1_PageChanging事件,

此时页面有分页效果,Gv中显示的列也是正常的,数据也对

但当点击按钮后,却不触发AspNetPager1_PageChanging事件,因为不触发该事件,所以没有分页效果,

我现在想请教下大家当点击按钮进行查询时,如何触发该事件,让GV还是能够分页,或是如何让在点击按钮时能够

使得页面有分页效果???

代码如下:
ascx中
HTML 我采用的URL分页,我看了一下这方面资料,AspNetPager1_PageChanging好像只在第一次加载触发啊???

HTML code
<webdiyer:AspNetPager ID="AspNetPager1" runat="server"         PagingButtonSpacing="8px" showcustominfosection="Right"         CustomInfoHTML="总记录数:%RecordCount%,总页数:%PageCount%,当前为第%CurrentPageIndex%页"         urlpaging="True" width="100%" LayoutType="Table"         ShowNavigationToolTip="true" UrlPageIndexName="pageindex"        onpagechanged="AspNetPager1_PageChanged"         onpagechanging="AspNetPager1_PageChanging" PageSize="15">    </webdiyer:AspNetPager>


ascx.cs代码
C# code
protected void Page_Load(object sender, EventArgs e){}public void BindGridView(){//关键代码段PagedDataSource pds = new PagedDataSource();        pds.AllowPaging = true;        pds.DataSource = _DataSet.Tables[0].DefaultView;        AspNetPager1.RecordCount = pds.DataSourceCount;        AspNetPager1.AlwaysShow = true;        pds.PageSize = AspNetPager1.PageSize;        pds.CurrentPageIndex = AspNetPager1.CurrentPageIndex - 1;        _GridView.DataSource = pds;        _GridView.DataBind();}protected void AspNetPager1_PageChanging(object src, Wuqi.Webdiyer.PageChangingEventArgs e)    {        AspNetPager1.CurrentPageIndex = e.NewPageIndex;        BindGridView();    }


aspx.cs中
C# code
protected void Page_Load(object sender, EventArgs e)    {            GvTemplet.BindGridView();    }//点击该按钮,GV无刷新效果protected void BtnOneQuery_Click(object sender, EventArgs e)    {    }


[解决办法]
在用户控件中设置属性,在调用用户控件的页面设置控件的属性,再调用方法重新绑定数据到gridview

热点排行