gridview+objectdatasource+aspnetpager整合实例

所属分类: 网络编程 / ASP.NET 阅读数: 389
收藏 0 赞 0 分享

前台代码:

复制代码 代码如下:

<asp:GridView ID="viewIShow" runat="server" DataSourceID="ObjectDataSource1"
                    AllowPaging="True" AutoGenerateColumns="False"
                    OnRowCommand="viewIShow_RowCommand" PageSize="2"
                    OnPageIndexChanging="viewIShow_PageIndexChanging"
                    OnDataBound="viewIShow_DataBound">

                    <Columns>
                        <asp:BoundField DataField="title" HeaderText="名称" />
                        <asp:BoundField DataField="clicknum" HeaderText="播放次数" />
                        <asp:BoundField DataField="addtime" HeaderText="更新日期" />
                        <asp:TemplateField HeaderText="操作">
                            <ItemTemplate>
                                <asp:LinkButton ID="LinkButton1" runat="server" CommandName="up" CommandArgument='<%#Eval("id") %>'>晋级</asp:LinkButton><asp:LinkButton
                                    ID="LinkButton2" runat="server" CommandName="down" CommandArgument='<%#Eval("id") %>'>降级</asp:LinkButton>
                            </ItemTemplate>

                        </asp:TemplateField>
                    </Columns>
                    <PagerTemplate>
                        <table border="0" cellpadding="0" cellspacing="1" style="width: 100%; height: 100%;">
                            <tr style="height: 28px; padding-left: 20px;">
                                <td class="pages">
                                    <webdiyer:AspNetPager ID="myPage" runat="server"
                                        OnPageChanged="myPage_PageChanged" ></webdiyer:AspNetPager>
                                </td>
                            </tr>
                        </table>
                    </PagerTemplate>
                </asp:GridView>
                <asp:ObjectDataSource ID="ObjectDataSource1" runat="server"
                    DataObjectTypeName="AUDIOSYSTEM.Model.ishow" DeleteMethod="Delete"
                    InsertMethod="Add" SelectMethod="GetList" TypeName="AUDIOSYSTEM.BLL.ishow"
                    UpdateMethod="Update" OnSelected="ObjectDataSource1_Selected">
                    <SelectParameters>
                        <asp:Parameter Name="type" Type="String" DefaultValue="week" />
                        <asp:ControlParameter ControlID="txtStartTime"
                            DefaultValue="2000/01/01 00:00:00" Name="start"
                            PropertyName="Text" Type="DateTime" />
                        <asp:ControlParameter ControlID="txtEndTime" Name="end" PropertyName="Text"
                            Type="DateTime" DefaultValue="2500/01/01 00:00:00" />
                    </SelectParameters>
                    <DeleteParameters>
                        <asp:Parameter Name="videoId" Type="Int32" />
                        <asp:Parameter Name="type" Type="String" DefaultValue="week" />
                    </DeleteParameters>
                </asp:ObjectDataSource>


后台代码:

复制代码 代码如下:

protected void myPage_PageChanged(object sender, EventArgs e)
         {
             GridViewRow pagerRow = viewIShow.BottomPagerRow;
             AspNetPager myPage = (AspNetPager)pagerRow.Cells[0].FindControl("myPage");
             viewIShow.PageIndex = myPage.CurrentPageIndex - 1;
         }

         protected void viewIShow_DataBound(object sender, EventArgs e)
         {
             GridViewRow pagerRow = viewIShow.BottomPagerRow;
             AspNetPager myPage = (AspNetPager)pagerRow.Cells[0].FindControl("myPage");

             GridView view = (GridView)sender;
             myPage.PageSize = view.PageSize;
             myPage.CurrentPageIndex = view.PageIndex +1; //GridView分页索引是从0开始,AspNetPager是从1开始的
         }

         protected void ObjectDataSource1_Selected(object sender, ObjectDataSourceStatusEventArgs e)
         {
             DataSet ds = (DataSet)e.ReturnValue; //ObjectDataSource查询方法返回什么类型就转成什么类型

             GridViewRow pagerRow = viewIShow.BottomPagerRow;
             AspNetPager myPage = (AspNetPager)pagerRow.Cells[0].FindControl("myPage");

             if (ds == null)
             {
                 myPage.RecordCount = 0;
             }
             else
             {
                 myPage.RecordCount = ds.Tables[0].Rows.Count;
             }
         }

更多精彩内容其他人还在看

.NET Core源码解析配置文件及依赖注入

这篇文章我们设计了一些复杂的概念,因为要对ASP.NET Core的启动及运行原理、配置文件的加载过程进行分析,依赖注入,控制反转等概念的讲解等
收藏 0 赞 0 分享

.NET Corek中Git的常用命令及实战演练

这篇文章将通过故事的形式从Git的历史谈起,并讲述Git的强大之处。然后通过实战演练教你如何在Github以及码云上托管我们的代码并进行代码的版本控制
收藏 0 赞 0 分享

Asp.Net Core WebAPI使用Swagger时API隐藏和分组详解

这篇文章主要给大家介绍了关于Asp.Net Core WebAPI使用Swagger时API隐藏和分组的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用Asp.Net Core具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
收藏 0 赞 0 分享

如何利用FluentMigrator实现数据库迁移

这篇文章主要给大家介绍了关于如何利用FluentMigrator实现数据库迁移的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
收藏 0 赞 0 分享

ASP.NET Core利用Jaeger实现分布式追踪详解

这篇文章主要给大家介绍了关于ASP.NET Core利用Jaeger实现分布式追踪的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用ASP.NET Core具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
收藏 0 赞 0 分享

浅谈从ASP.NET Core2.2到3.0你可能会遇到这些问题

这篇文章主要介绍了ASP.NET Core2.2到3.0可能会遇到的问题,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
收藏 0 赞 0 分享

详解.net core webapi 前后端开发分离后的配置和部署

这篇文章主要介绍了.net core webapi 前后端开发分离后的配置和部署,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
收藏 0 赞 0 分享

详解ASP.Net Core 中如何借助CSRedis实现一个安全高效的分布式锁

这篇文章主要介绍了ASP.Net Core 中如何借助CSRedis实现一个安全高效的分布式锁,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
收藏 0 赞 0 分享

.net 4.5部署到docker容器的完整步骤

这篇文章主要给大家介绍了关于.net 4.5部署到docker容器的完整步骤,文中通过示例代码介绍的非常详细,对大家学习或者使用.net4.5具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
收藏 0 赞 0 分享

.net core并发下线程安全问题详解

这篇文章主要给大家介绍了关于.net core并发下线程安全问题的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用.net core具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
收藏 0 赞 0 分享
查看更多