仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 642|回复: 7
打印 上一主题 下一主题

[学习教程] ASP.NET网页设计asp.net中Datalist利用数字分页的完成方...

[复制链接]
灵魂腐蚀 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 22:21:04 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
我见过java运行在手机上,包括很廉价的山寨手机,但是却暂时没发现.net在手机上有什么作为。wp7可能是个转机,但是按照《Java的跨平台就是一句谎言。那.net的跨平台也当之无愧是一句谎言。复制代码代码以下:
<%@PageLanguage="C#"AutoEventWireup="true"CodeFile="Test(Datalist数字分页).aspx.cs"Inherits="Test_Datalist数字分页_"%>
<!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<htmlxmlns="http://www.w3.org/1999/xhtml">
<headrunat="server">
<title>无题目页</title>
<linkhref="CSS/CSS.css"rel="stylesheet"type="text/css"/>
</head>
<body>
<formid="form1"runat="server">
<div>
<asp:DataListID="DataList1"runat="server">
<ItemTemplate>
<asp:LabelID="Label1"runat="server"Text=<%#Eval("mid")%>></asp:Label>
</ItemTemplate>
</asp:DataList>
</div>
<br/>
<divid="PageInfo"runat="server"class="LPageBar"></div>
</form>
</body>
</html>

CS代码:
复制代码代码以下:
usingSystem;
usingSystem.Collections;
usingSystem.Configuration;
usingSystem.Data;
usingSystem.Linq;
usingSystem.Web;
usingSystem.Web.Security;
usingSystem.Web.UI;
usingSystem.Web.UI.HtmlControls;
usingSystem.Web.UI.WebControls;
usingSystem.Web.UI.WebControls.WebParts;
usingSystem.Xml.Linq;
publicpartialclassTest_Datalist数字分页_:System.Web.UI.Page
{
protectedvoidPage_Load(objectsender,EventArgse)
{
//ComFunctioncf=newComFunction();
//DataSetds=cf.DataBind("M_dizhi");
//this.PageInfo.InnerHtml=PageNums.GetPageNum(ds,DataList1,12);
this.PageInfo.InnerHtml=PageNums.GetPageSql("M_dizhi",DataList1,12);
}
}

PageNums.cs
复制代码代码以下:
usingSystem;
usingSystem.Data;
usingSystem.Configuration;
usingSystem.Web;
usingSystem.Web.Security;
usingSystem.Web.UI;
usingSystem.Web.UI.HtmlControls;
usingSystem.Web.UI.WebControls;
usingSystem.Web.UI.WebControls.WebParts;
usingSystem.Data.SqlClient;
///<summary>
///PageNums的择要申明
///</summary>
publicclassPageNums
{
///</summary>
///<paramname="ds">DataSet实例</param>
///<paramname="datalistname">DataList称号</param>
///<paramname="pagesize">分页巨细</param>
publicstaticstringGetPageNum(DataSetds,DataListdatalistname,intpagesize)
{
PagedDataSourceobjPds=newPagedDataSource();
objPds.DataSource=ds.Tables[0].DefaultView;
objPds.AllowPaging=true;
inttotal=ds.Tables[0].Rows.Count;
objPds.PageSize=pagesize;
intpage;
if(HttpContext.Current.Request.QueryString["page"]!=null)
page=Convert.ToInt32(HttpContext.Current.Request.QueryString["page"]);
else
page=1;
objPds.CurrentPageIndex=page-1;
datalistname.DataSource=objPds;
datalistname.DataBind();
intallpage=0;
intnext=0;
intpre=0;
intstartcount=0;
intendcount=0;
stringpagestr="";
if(page<1){page=1;}
//盘算总页数
if(pagesize!=0)
{
allpage=(total/pagesize);//盘算总页数
allpage=((total%pagesize)!=0?allpage+1:allpage);
allpage=(allpage==0?1:allpage);
}
next=page+1;
pre=page-1;
startcount=(page+5)>allpage?allpage-9:page-4;//两头页肇端序号
//两头页停止序号
endcount=page<5?10:page+5;
if(startcount<1){startcount=1;}//为了不输入的时分发生正数,设置假如小于1就从序号1入手下手
if(allpage<endcount){endcount=allpage;}//页码+5的大概性就会发生终极输入序号年夜于总页码,那末就要将其把持在页码数以内
pagestr="共"+allpage+"页";
pagestr+=page>1?"<ahref=""+HttpContext.Current.Request.CurrentExecutionFilePath+"?page=1">首页</a>;<ahref=""+HttpContext.Current.Request.CurrentExecutionFilePath+"?page="+pre+"">上一页</a>":"首页上一页";
//两头页处置,这个增添工夫庞大度,减小空间庞大度
for(inti=startcount;i<=endcount;i++)
{
pagestr+=page==i?"<fontcolor="#ff0000">"+i+"</font>":"<ahref=""+HttpContext.Current.Request.CurrentExecutionFilePath+"?page="+i+"">"+i+"</a>";
}
pagestr+=page!=allpage?"<ahref=""+HttpContext.Current.Request.CurrentExecutionFilePath+"?page="+next+"">下一页</a><ahref=""+HttpContext.Current.Request.CurrentExecutionFilePath+"?page="+allpage+"">末页</a>":"下一页末页";
returnpagestr;
}

publicstaticstringGetPageSql(stringFileName,DataListdatalistname,intpagesize)
{
intpage;
intallpage=0;
intnext=0;
intpre=0;
intstartcount=0;
intendcount=0;
stringpagestr="";
if(HttpContext.Current.Request.QueryString["page"]!=null)
page=Convert.ToInt32(HttpContext.Current.Request.QueryString["page"]);
else
page=1;
if(page<1){page=1;}
DataSetds=DataBindSql("EXECpagesql*,FROM"+FileName+","+pagesize+","+page,FileName);
datalistname.DataSource=ds;
datalistname.DataBind();
inttotal=DataBind(FileName);
//盘算总页数
if(pagesize!=0)
{
allpage=(total/pagesize);//盘算总页数
allpage=((total%pagesize)!=0?allpage+1:allpage);
allpage=(allpage==0?1:allpage);
}
next=page+1;
pre=page-1;
startcount=page/5*5;//两头页肇端序号
//两头页停止序号
endcount=startcount+5;
if(startcount<1){startcount=1;}//为了不输入的时分发生正数,设置假如小于1就从序号1入手下手
if(allpage<endcount){endcount=allpage;}//页码+5的大概性就会发生终极输入序号年夜于总页码,那末就要将其把持在页码数以内
pagestr="<a>"+page+"/"+allpage+"页</a>";
pagestr+=page>1?"<ahref=""+HttpContext.Current.Request.CurrentExecutionFilePath+"?page=1">首页</a><ahref=""+HttpContext.Current.Request.CurrentExecutionFilePath+"?page="+pre+"">上一页</a>":"首页上一页";
//两头页处置,这个增添工夫庞大度,减小空间庞大度
for(inti=startcount;i<=endcount;i++)
{
pagestr+=page==i?"<fontcolor="#ff0000">"+i+"</font>":"<ahref=""+HttpContext.Current.Request.CurrentExecutionFilePath+"?page="+i+"">"+i+"</a>";
}
pagestr+=page!=allpage?"<ahref=""+HttpContext.Current.Request.CurrentExecutionFilePath+"?page="+next+"">下一页</a><ahref=""+HttpContext.Current.Request.CurrentExecutionFilePath+"?page="+allpage+"">末页</a>":"下一页末页";
returnpagestr;
}
privatestaticintDataBind(stringFileName)
{
stringsql="select*from"+FileName;
DbConnectiondc=newDbConnection();
SqlConnectionmycon=newSqlConnection(dc.ConnectionString);
SqlDataAdaptermypter=newSqlDataAdapter(sql,mycon);
DataSetds=newDataSet();
mycon.Open();
mypter.Fill(ds,FileName);
mycon.Close();
inttotal=ds.Tables[0].Rows.Count;
returntotal;
}
privatestaticDataSetDataBindSql(stringsql,stringFileName)
{
DbConnectiondc=newDbConnection();
SqlConnectionmycon=newSqlConnection(dc.ConnectionString);
SqlDataAdaptermypter=newSqlDataAdapter(sql,mycon);
DataSetds=newDataSet();
mycon.Open();
mypter.Fill(ds,FileName);
mycon.Close();
returnds;
}
}

存储历程pagesql
复制代码代码以下:
CREATEPROCEDUREpagesql
@sqlSelectvarchar(800)--SELECT前面FROM后面的字段不必包括SELECT
,@sqlFromvarchar(800)--FROM前面的字段包括FROM
,@countPerPageint--每页数据行数
,@toPageint--要转到的页码
AS
BEGIN

--依据每页数据行数和要转到的页码失掉数据起止点
Declare@startint
Declare@endint
set@end=@countPerPage*@toPage
set@start=@countPerPage*(@toPage-1)+1

--一时表称号可随机定名
Declare@tmpTablevarchar(10)
SET@tmpTable=#tmp
Declare@sqlStrvarchar(800)
--创立数据源光临时表
SELECT@sqlStr=SELECTIdentity(int,1,1)ASRowIndex,
SELECT@sqlStr=@sqlStr+rtrim(@sqlSelect)+INTO+@tmpTable
SELECT@sqlStr=@sqlStr+rtrim(@sqlFrom)
--查询一时表失掉所必要的数据
SELECT@sqlStr=@sqlStr++SELECT+rtrim(@sqlSelect)+FROM+@tmpTable
SELECT@sqlStr=@sqlStr+WHERERowIndexBETWEEN+Convert(char,@start)+"AND"+Convert(char,@end)
--删除一时表
SELECT@sqlStr=@sqlStr++DROPTABLE+@tmpTable
EXEC(@sqlStr)

END
GO
呵呵,那你就关注微软的招聘信息以及别人的招聘经验啊,还有也不一定去做技术的,你如果真的想去就多了解了解。(其实我的意思是说想到微软做技术是很不容易的。
兰色精灵 该用户已被删除
沙发
发表于 2015-1-27 07:24:14 | 只看该作者
ASP是把代码交给VBScript解释器或Jscript解释器来解释,当然速度没有编译过的程序快了。
再现理想 该用户已被删除
板凳
发表于 2015-2-5 04:31:34 | 只看该作者
可以看作是VC和Java的混合体吧,尽管MS自己讲C#内核中更多的象VC,但实际上我还是认为它和Java更象一些吧。首先它是面向对象的编程语言,而不是一种脚本,所以它具有面向对象编程语言的一切特性。
小魔女 该用户已被删除
地板
发表于 2015-2-11 04:48:45 | 只看该作者
虽然在形式上JSP和ASP或PHP看上去很相似——都可以被内嵌在HTML代码中。但是,它的执行方式和ASP或PHP完全不同。在JSP被执行的时候,JSP文件被JSP解释器(JSPParser)转换成Servlet代码,然后Servlet代码被Java编译器编译成.class字节文件,这样就由生成的Servlet来对客户端应答。所以,JSP可以看做是Servlet的脚本语言(ScriptLanguage)版。
蒙在股里 该用户已被删除
5#
发表于 2015-3-1 21:59:58 | 只看该作者
ASP(ActiveServerPages)是Microsfot公司1996年11月推出的WEB应用程序开发技术,它既不是一种程序语言,也不是一种开发工具,而是一种技术框架,不须使用微软的产品就能编写它的代码。
灵魂腐蚀 该用户已被删除
6#
 楼主| 发表于 2015-3-11 00:51:22 | 只看该作者
asp.net空间的支持有:ASP.NET1.1/虚拟目录/MicrosoftFrontPage2000扩展/CDONTS,同时他的网站上也提供了Asp.net的使用详解和程序源代码,相信对使用ASP.NET编程的程序员来说会非常有用哦!
变相怪杰 该用户已被删除
7#
发表于 2015-3-17 17:11:13 | 只看该作者
代码的可重用性差:由于是面向结构的编程方式,并且混合html,所以可能页面原型修改一点,整个程序都需要修改,更别提代码重用了。
只想知道 该用户已被删除
8#
发表于 2015-3-24 15:54:01 | 只看该作者
在一个项目中谁敢保证每天几千万甚至几亿条的数据不丢失?谁敢保证应用的高可靠性?有可以借签的项目吗?
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-5-3 14:06

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表