只想知道 发表于 2015-1-16 23:13:41

ASP网站制作之Repeater显现数据的例子,带分页

由于ASP提供的是一对多的服务,所以用户的一些特殊需求很难得到满足。分页|数据|显现上面是个Repeater显现数据分页的例子
我在做时分碰到的成绩给人人提一下刚入手下手我利用DataReader做数据源,是不可,后才换DataSet
在设置分页的时分必定要弄分明以后页,假如你把以后页设置成1,那末他就从第二页显现数据了,由于它确当前页是从0入手下手的,而我们显现以后页时分是从1入手下手的
在对照是不是到达总页数之前必定要先也给PS设置数据源,我就是先用ps.CurrentPageIndex==ps.PageCount-1反省是不是在最初一页,然后再ps.DataSource=ds.Tables["authors"].DefaultView;设置数据源的,了局分页一向有成绩.
呵呵,这几个成绩弄了我半天。多是我太菜了吧,学.NET还没多久呢。
usingSystem;
usingSystem.Collections;
usingSystem.ComponentModel;
usingSystem.Data;
usingSystem.Drawing;
usingSystem.Web;
usingSystem.Web.SessionState;
usingSystem.Web.UI;
usingSystem.Web.UI.WebControls;
usingSystem.Web.UI.HtmlControls;
usingSystem.Data.SqlClient;
namespacetest
{
///<summary>
///Repeater的择要申明。
///</summary>
publicclassRepeater:System.Web.UI.Page
{
protectedSystem.Web.UI.WebControls.PanelPanel1;
protectedSystem.Web.UI.WebControls.LabelLabel1;
protectedSystem.Web.UI.WebControls.LabellbCurPage;
protectedSystem.Web.UI.WebControls.ButtonButton1;
protectedSystem.Web.UI.WebControls.ButtonButton2;
protectedSystem.Web.UI.WebControls.RepeaterRepeater1;

privatevoidPage_Load(objectsender,System.EventArgse)
{
//在此处安排用户代码以初始化页面
if(!this.IsPostBack)
{
this.lbCurPage.Text="1";
this.BindToRepeater();
}
}
privatevoidBindToRepeater()
{
SqlConnectioncon=newSqlConnection("datasource=.;database=pubs;uid=sa;pwd=123a456b");
//SqlCommandcmd=newSqlCommand("select*fromauthors",con);
//con.Open();
//SqlDataReaderdr;
//dr=cmd.ExecuteReader();
SqlDataAdapterda=newSqlDataAdapter("select*fromauthors",con);
DataSetds=newDataSet();
da.Fill(ds,"authors");
PagedDataSourceps=newPagedDataSource();
ps.AllowPaging=true;
ps.PageSize=5;
this.Repeater1.DataSource=ps;
ps.CurrentPageIndex=Convert.ToInt32(this.lbCurPage.Text)-1;
ps.DataSource=ds.Tables["authors"].DefaultView;
this.Button1.Enabled=true;
this.Button2.Enabled=true;
if(ps.CurrentPageIndex==0)
{
this.Button1.Enabled=false;
}
if(ps.CurrentPageIndex==ps.PageCount-1)
{
this.Button2.Enabled=false;
}
this.Repeater1.DataBind();
}
#regionWeb窗体计划器天生的代码
overrideprotectedvoidOnInit(EventArgse)
{
//
//CODEGEN:该挪用是ASP.NETWeb窗体计划器所必须的。
//
InitializeComponent();
base.OnInit(e);
}

///<summary>
///计划器撑持所需的办法-不要利用代码编纂器修正
///此办法的内容。
///</summary>
privatevoidInitializeComponent()
{
this.Button1.Click+=newSystem.EventHandler(this.Button1_Click);
this.Button2.Click+=newSystem.EventHandler(this.Button2_Click);
this.Load+=newSystem.EventHandler(this.Page_Load);
}
#endregion
privatevoidButton1_Click(objectsender,System.EventArgse)
{
this.lbCurPage.Text=Convert.ToString(Convert.ToInt32(this.lbCurPage.Text)-1);
this.BindToRepeater();
}
privatevoidButton2_Click(objectsender,System.EventArgse)
{
this.lbCurPage.Text=Convert.ToString(Convert.ToInt32(this.lbCurPage.Text)+1);
this.BindToRepeater();
}
}
}
</p>实现规模效益。与传统的用户拥有硬件软件所有权和使用权以及传统的应用服务商提供一对一的服务模式不同,ASP拥有应用系统所有权,用户拥有使用权,应用系统集中放在ASP的数据中心中,集中管理,分散使用,以一对多的租赁的形式为众多用户提供有品质保证的应用技术服务,实现规模效益。

透明 发表于 2015-1-20 08:26:41

ASP主要是用好六个对象,其实最主要的是用好其中两个:response和request,就可以随心所欲地控制网页变换和响应用户动作了。

深爱那片海 发表于 2015-1-20 11:34:28

虽然ASP也有很多网络教程。但是这些都不系统。都是半路出家,只是从一个例子告诉你怎么用。不会深入讨论,更不会将没有出现在例子里的方法都一一列举出来。

飘灵儿 发表于 2015-1-29 06:57:30

最近在学asp,不要问我为什么不直接学.net,因为公司网站是asp做的所以有这个需要,卖了本书asp入门到精通,对里面的六大内置对象老是记不住,还有很多属性和方法看的头晕。

小女巫 发表于 2015-2-2 20:10:24

尽管MS自己讲C#内核中更多的象VC,但实际上我还是认为它和Java更象一些吧。首先它是面向对象的编程语言,而不是一种脚本,所以它具有面向对象编程语言的一切特性,比如封装性、继承性、多态性等等,这就解决了刚才谈到的ASP的那些弱点。

柔情似水 发表于 2015-2-8 04:42:43

多看多学多思。多看一些关于ASP的书籍,一方面可以扩展知识面一方面可以鉴借别人是如何掌握、运用ASP的;多学善于关注别人,向同学老师多多学习,不论知识的大小;多思则是要将学到的知识灵活运用。

山那边是海 发表于 2015-2-24 06:07:41

ASP.Net和ASP的最大区别在于编程思维的转换,而不仅仅在于功能的增强。ASP使用VBS/JS这样的脚本语言混合html来编程,而那些脚本语言属于弱类型、面向结构的编程语言,而非面向对象,这就明显产生以下几个问题:

分手快乐 发表于 2015-3-7 11:40:58

我们必须明确一个大方向,不要只是停留在因为学而去学,我们应有方向应有目标.

仓酷云 发表于 2015-3-15 02:50:00

掌握asp的特性而且一定要知道为什么。

变相怪杰 发表于 2015-3-21 16:27:12

我想问如何掌握学习节奏(先学什么再学什么)最好详细点?
页: [1]
查看完整版本: ASP网站制作之Repeater显现数据的例子,带分页