LinkButton控件中的CommandName或CommandArgument怎么绑定到指定GridView
LinkButton控件中的CommandName或CommandArgument如何绑定到指定GridView
本人不是很熟悉ASP.NET,还请各位多多指教。
这样的,我在某个网站中需要显示多张GridView,为了美观和延迟,我决定在把所有GridView用Panel装起来,在页面第一次加载就绑定好所有GridView的数据,然后通过Button控制其Visible值来使多个GridView在同一位置上覆盖显示,现在这个功能已经实现了,但在分页按钮却出了问题。为了提高重用率,我决定让多个GridView共用一个分页按钮,也就是把分页按钮放在Panel之外,代码大概如下:
对了我用的是GridView自带的分页,上面的代码中面板显示没有问题,而现在问题是LinkButton的返回值有错,比如我一个PageCount有10的GridView在当前显示,当我点击“下一页”时,其sender传入PagerButton_Click()的CommandName却一直是我切换GridView后给的初始值"2",此时CommandArgument的值为"Next",不是想要的页码,所以我无法改变当前GridView的PageIndex。
我反复思考过我这段代码,CommandArgument绑定的是GridView指定要执行的分页操作类型,而CommandName则对应当前,当我点击LinkButton时按钮按照CommandArgumen绑定的类型,通过CommandName把对应的页码经sender传入PagerButton_Click()完成操作。我尝试过单独在一个页面放置一个GridView和功能键,CommandName是可以返回正确的“下一页的页码”,而同样的代码在这里不能实现,我怀疑是当前LinkButton不知道绑定的是哪个GridView所以导致CommandName一直是我给的初始值“2”,因此不知道有没有办法让LinkButton里的CommandName或CommandArgument绑定到指定的GridView?
或者我有些思路或理解是错误的,还请各位大神指出,我在这里先说声谢谢了
------解决思路----------------------
Insus.NET会把分页的状态条,做成一个用户控件,然后拉到网页的Panel去即可:
http://www.cnblogs.com/insus/p/3157478.html
http://www.cnblogs.com/insus/articles/1417957.html
本人不是很熟悉ASP.NET,还请各位多多指教。
这样的,我在某个网站中需要显示多张GridView,为了美观和延迟,我决定在把所有GridView用Panel装起来,在页面第一次加载就绑定好所有GridView的数据,然后通过Button控制其Visible值来使多个GridView在同一位置上覆盖显示,现在这个功能已经实现了,但在分页按钮却出了问题。为了提高重用率,我决定让多个GridView共用一个分页按钮,也就是把分页按钮放在Panel之外,代码大概如下:
<div>
<asp:Panel Visible="true">
<asp:GridView>
</asp:GridView>
</asp:Panel>
<asp:Panel Visible="false">
<asp:GridView>
</asp:GridView>
</asp:Panel>
<asp:Panel Visible="false">
<asp:GridView>
</asp:GridView>
</asp:Panel>
<!--多个Panel-->
</div>
<div>
<asp:Label ID="RecordCount" runat="server"></asp:Label> 条/
<asp:Label ID="PageCount" runat="server"></asp:Label>页
当前是第 <asp:Label ID="CurrentPage" runat="server"></asp:Label> 页
<asp:LinkButton ID="First" runat="server" CommandArgument="First" CommandName="Page" OnClick="PagerButton_Click">首页</asp:LinkButton>
<asp:LinkButton ID="Prev" runat="server" CommandArgument="Prev" CommandName="Page" OnClick="PagerButton_Click">上一页</asp:LinkButton>
<asp:LinkButton ID="Next" runat="server" CommandArgument="Next" CommandName="Page" OnClick="PagerButton_Click">下一页</asp:LinkButton>
<asp:LinkButton ID="Last" runat="server" CommandArgument="Last" CommandName="Page" OnClick="PagerButton_Click">尾页</asp:LinkButton>
跳转到第 <asp:TextBox ID="txtPage" runat="server" CssClass="topvertical" Width="25px" Height="12px"></asp:TextBox> 页
<asp:Button ID="LoginPage" runat="server" Text="跳转" OnClick="LoginPage_Click"
BackColor="#339f92" BorderStyle="None" CssClass="topvertical" Height="18px"/>
</div>
对了我用的是GridView自带的分页,上面的代码中面板显示没有问题,而现在问题是LinkButton的返回值有错,比如我一个PageCount有10的GridView在当前显示,当我点击“下一页”时,其sender传入PagerButton_Click()的CommandName却一直是我切换GridView后给的初始值"2",此时CommandArgument的值为"Next",不是想要的页码,所以我无法改变当前GridView的PageIndex。
我反复思考过我这段代码,CommandArgument绑定的是GridView指定要执行的分页操作类型,而CommandName则对应当前,当我点击LinkButton时按钮按照CommandArgumen绑定的类型,通过CommandName把对应的页码经sender传入PagerButton_Click()完成操作。我尝试过单独在一个页面放置一个GridView和功能键,CommandName是可以返回正确的“下一页的页码”,而同样的代码在这里不能实现,我怀疑是当前LinkButton不知道绑定的是哪个GridView所以导致CommandName一直是我给的初始值“2”,因此不知道有没有办法让LinkButton里的CommandName或CommandArgument绑定到指定的GridView?
或者我有些思路或理解是错误的,还请各位大神指出,我在这里先说声谢谢了
------解决思路----------------------
Insus.NET会把分页的状态条,做成一个用户控件,然后拉到网页的Panel去即可:
http://www.cnblogs.com/insus/p/3157478.html
http://www.cnblogs.com/insus/articles/1417957.html