c#-ajax用分四部打造漂亮的新闻列表(无刷新分页,内容预览)

相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

新闻列表是信息管理系统中最常见的,也是最简单的,一些简单的新闻列表就是一个table,然后里面循环写入数据,没有分页。这样如果数据量很大时,情况就变得十分糟糕,往往打开一个网页就需要很长的时候,大大的降低了的用户的体验效果。

而分页的话也是很有讲究的,不同的数据库往往对应着不同的分页方式。这里不做讨论。下面我们仅以简单的access作为数据库来进行新闻列表的无刷新分页。无刷新意味着要使用ajax技术,当然无刷新不仅仅是ajax,还有其他的方法做到无刷新,如将所有的数据一次性读取出来,然后根据页数的不同显示不同的内容,这个仅仅靠JavaScript就可以实现了,但是这个无疑是饮鸩止渴,和上面没有分页效果是一样的,换汤不换药,仅仅是感觉上很好而已。

要使用ajax可以自己手动写,也可以使用框架,我比较倾向于使用jquery来写ajax,而且vs2010对jQuery 的支持是很好的。而分页的话,jQuery已经有现成的插件供我们使用。

下面开始打造漂亮的新闻第一步:需求分析

随便在做什么的时候,一定要知道你的需求是什么,不然忙活了半天发现这根本不符合需求,结果白忙活一场。

我们的需求如下:

1。动态的新闻列表(这个很简单)

2。可以分页读取新闻列表(这个也不难)

3。可以无刷新的分页读取新闻列表(这个稍微有点难度)

4。可以预览新闻的内容(这个也稍微有点难度)

5。界面友好(这个是必须的)

下面来详细谈谈我们的需求:

对于1、2和5就不做说明了,网上可以找到大把的资料。就第三点和第四点来说明下,其实如果是懂一点ajax 的话,这些是小儿科。

3.==》无刷新的分页读取新闻列表,在点击下一页的时候触发事件,调用ajax去数据库中查找下一页的数据并返回,然后显示在页面上。

4==》预览新闻内容,在鼠标移到连接上面时触发事件,得到新闻的id并使用ajax去数据库中查找相应的新闻内容,截取一部分显示在div里面,这里有一个要注意的地方,就是如果截取的内容里面有html标记时要特别注意下。

ok,需求分析弄好后,开始着手做了。准备如下环境:

vs2010 +access +jquery

开发环境vs也可以使用2008sp1,因为这个以上的版本才对jQuery有智能提示,当然也可以使用其他的版本,就是没有智能提示的效果。

access数据库的版本为2003

jquery:1.3.2以上版本

当然还有其他的文件需要用到,这个以后才说,先来预览下最后的效果吧:(分页的被预览的部分遮住了.....)

注:本文的对象主要是ajax新手,或者是完全没有接触过,但想快速使用ajax做出东西来的人。

在上一篇文章中,我们进行了需求分析,如下:

1。动态的新闻列表(这个很简单)

2。可以分页读取新闻列表(这个也不难)

3。可以无刷新的分页读取新闻列表(这个稍微有点难度)

4。可以预览新闻的内容(这个也稍微有点难度)

5。界面友好(这个是必须的)

按照软件工程的顺序,我们应按照这样的顺序开发软件:可行性分析===》需求分析===》概要设计===》详细

设计===》编码===》测试

由于我们仅仅是项目中的一个小部分,但也差不多按照以上的顺序进行开发,这是一个良好的习惯。我们将概

要设计和详细设计放在一起。

下面我们来设计数据库,由于采用的是Access数据库,而且字段也相对简单。就一张表tb_news,数据库名

为news。

名称类型长度

news_id长整型4 news_title文本255 news_content内存-news_time日期/时间8 news_readtimes长整型4

当然,你可以根据自己的需要增加字段或减少字段。其中news_content尽可能的长一些,符合新闻的长度。数据库设计完毕后,我们可以开始编码了。首先建立项目(我比较偏向于web application,而

不是website),将其命名为MyNewsList。如下图所示:

如果是用vs2010正式版,创建好后会发现会生成很多文件,它是vs2010自带的有些样式的页面(母版页),有点类似于 mvc。这里我们不需要,将他们删除并且将一些文件夹重命名,将Account文件夹、About.aspx、

Default.aspx、Global.asax和site.Mater删掉,并且将Scripts文件夹重命名为js文件夹;将Styles重命名为css文件夹,这样更符合我们的习惯,当然你也可以不改。并且将news数据库文件拷贝至App_Data文件夹。(如果你是vs2008或者其他版本,做类似的操作)最后的列表如下图:

ok,地基我们已经搭建好了,现在我们要筑房子了。建立NewsList.aspx页面,这就是我们的新闻列表页面。

在编辑NewsList.aspx之前,我们来先配置一下web.config文件,建立于数据库的连接。将改为:

我们注意到:Data Source=|DataDirectory|\news.mdb;中的DataDirectory,这就是为什么我们要将数据库文件拷贝到App_Data文件夹下,这样就很方便的调用数据库了,不必为路径的问题而烦恼了。

配好web.config文件后,我们开始设计前台。NewsList.aspx页面前台body的代码如下:

新闻的标题

阅读次数