首页 > 语言 > 关键词 > ASP.NET最新资讯 > 正文

Asp.net url分页的用户控件

2008-09-11 11:40 · 稿源:互联网

出处:snooker_li的专栏

最近做一个相册程序频繁的需要分页,所以就想写一个用户控件出来。

代码如下:

AutoPage.ascx页面

<%@ControlLanguage="c#"AutoEventWireup="false"Codebehind="AutoPage.ascx.cs"Inherits="album.AutoPage"TargetSchema="https://schemas.microsoft.com/intellisense/ie5"%>
<tableborder="0"cellpadding="0"cellspacing="0">
<tr>
<tdvalign="middle"height="30">共<asp:labelid="lb_ItemCount"ForeColor="Red"runat="server"></asp:label>条记录&nbsp;</td>
<tdvalign="middle"height="30"><asp:hyperlinkid="hpl_First"runat="server">首页</asp:hyperlink>&nbsp;</td>
<tdvalign="middle"height="30"><asp:hyperlinkid="hpl_Prev"runat="server">上页</asp:hyperlink>&nbsp;</td>
<tdvalign="middle"height="30">当前<asp:labelid="lb_CurrentPage"runat="server"></asp:label>页/共<asp:labelid="lb_PageCount"runat="server"></asp:label>页&nbsp;</td>
<tdvalign="middle"height="30"><asp:hyperlinkid="hpl_Next"runat="server">下页</asp:hyperlink>&nbsp;</td>
<tdvalign="middle"height="30"><asp:hyperlinkid="hpl_Last"runat="server">末页</asp:hyperlink>&nbsp;</td>
<tdvalign="middle"height="30"><asp:textboxid="txb_Page"runat="server"Width="32px"BorderStyle="Solid"BorderWidth="1px"
BorderColor="Silver"></asp:textbox></td>
<tdvalign="middle"height="30"><asp:ImageButtonid="btn_go"runat="server"ImageUrl="album_images/go.gif"></asp:ImageButton></td>
<tdvalign="middle"height="30"><asp:labelid="lb_url"runat="server"Visible="False"></asp:label><asp:Labelid="lb_Params"runat="server"Visible="False"></asp:Label></td>
</tr>
</table>

AutoPage.ascx.cs页面

namespacealbum
{
usingSystem;
usingSystem.Data;
usingSystem.Drawing;
usingSystem.Web;
usingSystem.Web.UI.WebControls;
usingSystem.Web.UI.HtmlControls;
usingSystem.Data.SqlClient;

///<summary>
///UC的摘要说明。
///</summary>
publicclassAutoPage:System.Web.UI.UserControl
{
protectedSystem.Web.UI.WebControls.HyperLinkhpl_First;
protectedSystem.Web.UI.WebControls.HyperLinkhpl_Prev;
protectedSystem.Web.UI.WebControls.HyperLinkhpl_Next;
protectedSystem.Web.UI.WebControls.Labellb_CurrentPage;
protectedSystem.Web.UI.WebControls.Labellb_PageCount;
protectedSystem.Web.UI.WebControls.HyperLinkhpl_Last;
publicintpagesize;
publicstringPageP;
protectedSystem.Web.UI.WebControls.TextBoxtxb_Page;
protectedSystem.Web.UI.WebControls.Labellb_url;
protectedSystem.Web.UI.WebControls.Labellb_ItemCount;
publicstringurl;
protectedSystem.Web.UI.WebControls.Labellb_Params;
protectedSystem.Web.UI.WebControls.ImageButtonbtn_go;
publicstringParams;

privatevoidPage_Load(objectsender,System.EventArgse)
{

}

publicPagedDataSourcedatabind(DataTabledt)
{
lb_url.Text=url;
lb_Params.Text=Params;
//创建分页类
PagedDataSourceobjPage=newPagedDataSource();
//设置数据源
objPage.DataSource=dt.DefaultView;
//允许分页
objPage.AllowPaging=true;
//设置每页显示的项数
objPage.PageSize=pagesize;
//设置当前页的索引
intCurPage=1;
try
{
CurPage=Convert.ToInt32(PageP);
if(CurPage<1||CurPage>objPage.PageCount)
{
Response.Redirect(url+"?page=1"+Params);
}
}
catch
{
Response.Redirect(url+"?page=1"+Params);
}
objPage.CurrentPageIndex=CurPage-1;
//显示状态信息
lb_ItemCount.Text=dt.Rows.Count.ToString();
lb_CurrentPage.Text=CurPage.ToString();
lb_PageCount.Text=objPage.PageCount.ToString();

//如果当前页面不是首页
if(!objPage.IsFirstPage)
{
hpl_Prev.NavigateUrl=url+"?Page="+Convert.ToString(CurPage-1)+Params;
hpl_First.NavigateUrl=url+"?Page=1"+Params;
}
//如果当前页面不是最后一页
if(!objPage.IsLastPage)
{
hpl_Next.NavigateUrl=url+"?Page="+Convert.ToString(CurPage+1)+Params;
hpl_Last.NavigateUrl=url+"?Page="+objPage.PageCount.ToString()+Params;
}
returnobjPage;
}


#regionWeb窗体设计器生成的代码
overrideprotectedvoidOnInit(EventArgse)
{
//
//CODEGEN:该调用是ASP.NETWeb窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
}

///<summary>
///设计器支持所需的方法-不要使用代码编辑器
///修改此方法的内容。
///</summary>
privatevoidInitializeComponent()
{
this.btn_go.Click+=newSystem.Web.UI.ImageClickEventHandler(this.btn_go_Click);
this.Load+=newSystem.EventHandler(this.Page_Load);

}
#endregion

privatevoidbtn_go_Click(objectsender,System.Web.UI.ImageClickEventArgse)
{
Response.Redirect(lb_url.Text+"?Page="+txb_Page.Text+lb_Params.Text);
}


}
}

调用的时候需要设置几个参数pagesize(每页显示数据个数),PageP(传递的分页参数),ParmP(其他的Request.QureyString参数),url(页面地址)

绑定的时候只需要把控件的DataSource=AutoPage1.databind(DataTable变量)

  • 相关推荐
  • 大家在看
  • 什么食物含维生素C?维生素C软糖试过吗

    当人们谈起牙龈出血、容易感冒或者美容养颜的时候,可能会提到说补充点维生素C 。维生素C对人体的帮助不小,那么生活中含有维生素C的食物有什么呢?怎么补充更合适?下面这几种食物,和维生素C软糖,大家可要留心一下。 一、柑橘类水果 柚子、橙子、橘子等都是生活中常见的柑橘类水果。酸甜可口又多汁的柑橘类水果,不仅味道好,有着丰富的纤维素和微量元素,当中的维生素C含量也不容小觑。虽然同属柑橘类水果,但柚子含糖量低、橙?

  • 揭秘旷视C计划

    2015年冬天,因为一个项目,创始人印奇和唐文斌来到了一个位于天津的大型仓库。到访的仓库装备在当时已经非常先进,是行业标杆,但四万平米的仓库仍需要1000余人在零下十度的环境里每天走出一个“马拉松”——空间太过巨大,暖气聊胜于无,而尽管有机械辅助,但仓库仍离不开最原始的体力劳动。因为环境恶劣,员工很难长时间忍受,这个仓库每年离职率高达200%,也就是说每年都要换两波人。

  • 双十一红人内容营销,从To-C到With-C

    双十一这天,“一天顶一月”、“一天顶一季”的销量奇迹在不断上演,对大多数品牌来说,是一年中最重要的一次大考。

  • Netflix扩大英国业务 将拓展办公区

    DoNews10月10日消息(记者 翟继茹)10日,彭博社援引知情人士消息称,Netflix计划将伦敦的办公室扩大两倍,并搬进这一新的英国总部。报道称,这一新大楼占地87000平方英尺,曾属于伯纳斯街(Berners Street)地产。目前,Netflix在英国有近300名员工。Netflix表示,“作为我们承诺的一部分,很高兴我们能拓展英国业务。”(完)

  • Netflix停止向美国观众提供免费试用

    全球最大的视频流媒体Netflix日前宣布,已经停止在美国提供免费试用服务。

  • Netflix宣布取消30天免费试用服务

    据外媒报道,接下来,用户要么完全支持Netflix要么完全退出,因为这家流媒体巨头已经取消了他们的免费试用服务。现在,用户必须要注册一个Netflix的套餐才行,不过该套餐没有合同约束,用户可以随时取消。

  • Ohayoo举办开发者大会,将投入一亿开发者生态专项基金

    近两年,休闲游戏爆发力十足,释放出新的增长潜力。移动数据监测平台Adjust指出,从 2019 年Q4 到 2020 年Q1,中国休闲游戏用户时长增幅超300%;易观数据显示,中国休闲游戏用户月活跃用户规模已突破 4 亿。游戏开发者如何在市场蓝海中运筹帷幄,决胜千里? 9 月 21 日,Ohayoo开发者大会在上海成功举办,此次大会从游戏开发者痛点出发,聚焦移动游戏行业最后一波红利——“移动原生休闲游戏“赛道的发展,解读Ohayoo平台从研发立项?

  • 一加8T标配双C线+C口充电器 刘作虎:成本很高 未来是趋势

    9月28日消息,一加创始人兼首席执行官刘作虎为一加8T预热。一加8T标配双C线和C口充电头,刘作虎指出,从2015年开始,一加就率先采用了USB Type-C接口。后来市面上越来越多的Type-C设备,验证了

  • Netflix宣布在美国停止30天免费试用:白嫖党们的噩梦

    据外媒报道,Netflix于本周二表示,已经停止在美国提供免费试用。在消息爆出后,Netflix方面的发言人证实了媒体的报道并表示:“我们正在研究在美国进行不同的营销推广,以吸引新会员,并给他们提供良好的Netflix体验”。

  • Netflix的财富密码:让用户疯狂增长,直至世界毁灭

    ​新冠疫情在全球的肆虐,促进了“宅家经济”的强势发展。根据英国市场研究公司Global Web Index发布的报告,自疫情暴发以来,超过80%的美国和英国用户表示,较之以往,他们在印刷媒介、广播电视特别是流媒体平台上消费了更多的内容。

  • OKEx早报:开发人员或在10月15日前完成以太坊2.0功能开发

    OKEx早报将在每日早间为您带来最新的行情,以及相关行业动态。帮助投资人在最短的时间内了解夜间的动态消息,更好的握把每日行情。行情速递9月27日讯,昨天BTC收涨,涨幅0.7%,尾盘在10700美元上方震荡。通过OKEx平台交易数据可以看出,今日早间行情相对企稳,BTC开盘报10720.9美元,短时下挫后缓慢上行,最高点触及10800美元,当前略有回落。截至发稿,BTC暂报10792.96美元。据OKEx交易大数据显示,BTC合约多空持仓人数比为0.78,

  • 关于鸿蒙 2.0,那些开发者不知道的一切

    鸿蒙操作系统在推出一年后,鸿蒙 2.0 操作系统如约而至。在 9 月 10 日的华为 HDC 大会上,华为正式开放鸿蒙 HarmonyOS 2.0 源码,并对业界展示了其在商用落地和生态构建的进展,业界开发者对鸿蒙操作系统的全局有了更加清晰的认知。

  • 再次中断拍摄:Netflix《The Harder They Fall》一演员检测出新冠阳性

    据外媒报道,尽管电视和电影行业在停产和中断数月后正在慢慢恢复工作,但疫情仍在制造问题并带带来延误。最新的例子就是Netflix的原创西部片《TheHarderTheyFall》,在一名演员被检测出COVID-19呈阳性后该片不得不暂停制作。

  • 殿元租机--满足大众低价使用卓越品质3C产品需求

    随着互联网的普及,人们对新事物接受能力的增强,以及资本对资源最大化利用的迫切需要,共享经济逐渐成为时代的潮流。共享单车,青年旅馆,共享充电宝等C2C销售模被广泛运用到生活中。不得不承认比起传统的买卖方式,共享经济更精准的对接了消费者的需求,更大限度上发掘了商品的价值,提高了资源利用率。一本书,在传统的模式下,看完很大可能性只能躺在书架上蒙尘,而借阅,租阅的方式则更加切合顾客的这种短暂性需求。共享模式?

  • 阿里云HaaS 100开发板开箱试用体验:高性价比IoT应用开发神器

    9月18日,在2020云栖大会上,阿里云智能正式推出一款加速AIoT中小开发者创新的积木式平台HaaS(Hardware as a Service),该产品旨在帮助AIoT中小开发者聚焦业务,低门槛快速组装软硬件积木,实现

  • AMD发布锐龙3000C、速龙3000C:Zen首次进驻Chromebook

    Zen 3架构马上就要登场了,初代的14nm Zen、12nm Zen+架构依然活力十足!面向蓬勃发展的Chromebook入门级笔记本市场,AMD发布了锐龙3000C系列、速龙3000C系列处理器。这也是Zen和锐龙双双第

    AMD
  • 西瓜视频、传奇影业联合出品《福尔摩斯小姐》 与Netflix全球同步首播

    9月23日消息,今天下午3点,西瓜视频独家上线悬疑冒险电影《福尔摩斯小姐:失踪的侯爵》,与Netflix同步开启全球首播。该片由西瓜视频和美国传奇影业联合出品,是西瓜视频首次参与出品的国际电影。届时,西瓜视频影视会员可免费观看。《福尔摩斯小姐》改编自系列悬疑小说,讲述了伊诺拉·福尔摩斯的成长与冒险故事。截至目前,这部电影已经在烂番茄上获得88%的媒体推荐度。

  • 房地产开发常见的招标采购策略

    房地产开发常见的招标采购策略在房地产开发中,招标采购一项非常重要的工作,在与建筑商签合同之前,你需要经过思考与规划,制定相应的招标采购策略。招标采购策略必须在项目早期阶段决定,这将有利于整个开发过程,并创建坚实的起点。简单来说,招标采购就是完成商品和服务购买的方法,而这个方法取决于你的环境、商业计划和总体目标。让我们深入了解房地产开发常见的招标采购策略。房地产开发有不同的招标采购策略。招标采购策略

  • Bose新品“C位出道”,消噪耳塞和无线耳塞快来pick

    Bose新品真无线耳机系列终于“成团”了,Bose消噪耳塞和无线耳塞以卓越音质及智能手势控制设计俘获了大批粉丝的芳心。其中,Bose消噪耳塞以其独有智能消噪调节设计成为“降噪”担当,而Bose无线耳塞以其更加精巧的身型成为“颜值”担当,两款产品造型时尚,佩戴起来舒适无负担,同时又各自具备令人惊叹的“独门绝技”。下面就来看看这两款耳机到底有多优秀。Bose新品之消噪耳塞,智能触控降噪设计令人惊艳全新Bose消噪耳塞对特有软

  • 日本将在月球建燃料工厂:用来大规模开发月球

    【日本将在月球建燃料工厂】据日本《产经新闻》9月29日报道,日本计划在月球上建造燃料生产厂,用来大规模开发月球。日本宇宙航空研究开发机构计划于本世纪30年代中期在月球表面建设燃料工厂,以力争实现大范围月球探测的目标。

  • 参与评论
文明上网理性发言,请遵守新闻评论服务协议
  • 热门标签