2022年完整word版,ASP.NET开发大全第25章.新闻模块设计 .pdf





《2022年完整word版,ASP.NET开发大全第25章.新闻模块设计 .pdf》由会员分享,可在线阅读,更多相关《2022年完整word版,ASP.NET开发大全第25章.新闻模块设计 .pdf(19页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第 25 章新闻模块设计现在的大部分网站都需要使用新闻模块进行网站信息交流,新闻模块是网站之中最传统的交流模块。管理人员能够通过后台进行新闻的发布和修改,用户就能够在前台页面中进行新闻的访问和评论,新闻模块是网站必不可少的模块,例如新浪、腾讯、搜狐等大型网站都离不开新闻模块。25.1 学习要点新闻模块需要涉及到一些ASP.NET 3.5 的基本知识,如果要仔细学习新闻模块的开发,需要详细了解本书的一些章节知识,这些章节如下所示:ASP.NET 的网页代码模型。Web 窗体基本控件。数据库基础。ADO.NET 常用对象。Web 窗体数据控件。ASP.NET 内置对象。生成静态的概念基本了解了以上
2、章节的知识点后,就能够熟练学习和开发此模块。25.2 系统设计新闻模块对于网站而言是非常重要的,虽然今天Web 2.0 的概念大行其道,但是新闻还是作为网站应用的基础内容而存在,新闻能够提供最简单的用户信息交互,对于新闻信息的筛选和投放同样能够吸引访问者。25.2.1 模块功能描述新闻模块对于网站开发而言是最简单也是最重要的,对于网站而言,作为一个信息媒体,需要向用户,也就是网站的使用者进行信息传递。现在的各大门户网站,如新浪、腾讯和搜狐等,依旧使用的是新闻作为网站主导,而对于大行其道的Web 2.0,同样也是基于新闻模块的形式进行信息呈现。新闻模块的开发相对于广告模块而言从技术上实现比较的简
3、单,并没有广告模块实现起来复杂和繁琐,也不需要使用自定义控件。但是新闻模块如果要制作好,还是有一定的难度的,其最主要的难度就在于生成静态和伪静态化。对于不需要生成静态或伪静态化的新闻,其功能模块抽象起来比较的简单,在新闻使用之前,管理员可以在后台添加新闻分类,用于分类新闻。在添加新闻分类完毕后,就可以添加新闻并选择相应的分类进行新闻分类,分类后的新闻将能够呈现在不同的页面中以显示不同的分类的新闻。从一定的意义上精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 1 页,共 19 页599 来说,新闻模块的功能对于管理员而言,就只是添加分类和发布新闻,如
4、图25-1 所示。图 25-1 新闻模块基本流程分析正如图25-1 所示,管理员能够在后台进行新闻模块中的分类选择和信息填写进行新闻发布,管理员还可以对新闻分类进行管理。但是在管理员进行操作前,首先需要对管理员进行身份验证,以判断管理员是否有合法的权限进行身份验证。身份验证可以使用登录模块进行身份验证,但是这里的登录模块没有网站的登录控件复杂。这里只需要实现对管理员进行判断,如果判断是管理员则能够通过,如果不是管理员则不允许通过的功能即可。从上述模块功能描述中可以规划成以下几个页面:登录页面:管理员登录页面,为管理员提供身份验证。新闻分类添加页面:为管理员提供新闻添加功能。新闻分类管理页面:为
5、管理员提供新闻分类的添加和管理。新闻页面:用于显示新闻。首页调用:用于进行新闻列表的显示,方便用户进行新闻查阅。这些页面能够为管理员的新闻发布和更新进行操作提供,管理员首先需要在登录页面进行登录操作并进行身份验证。如果验证通过,就能够在新闻分类页面和新闻页面进行新闻分类操作和新闻操作,管理员可以通过新闻分类操作和新闻操作进行新闻的发布和归类,这样有助于在前台的页面中进行调用。在前台显示中,同样还需要新闻显示页面和首页,新闻显示页面用于显示单个新闻,而首页用于显示新闻相应的列表,如在新浪、腾讯等网站的首页,都是调用最新的一些新闻列表来呈现的,这样有助于用户对新闻信息的筛选和分类。25.2.2 模
6、块流程分析在各种类型的网站中,例如腾讯,都可以看到首页被各种新闻版块内容所填充,包括时事、体育、娱乐等等,这些新闻和内容版块都是在后台相关人员进行采编并纳入数据库和页面中的。可以想象,一个大型的门户网站每天会有多少的访问量,如果每次的用户访问都需要从数据库中读取数据,那么一天下来可能有几百万的读取次数,这样无疑会对Web 应用带来极大的挑战。可以观察各种门户的新闻,可以看得出来这些门户的新闻的URL 地址的后缀都是.html 或者是 .shtml的,那么是不是这些网站的开发人员和采编人员当有一条新闻时就手动进行页面编写呢?显然答案是否精选学习资料 - - - - - - - - - 名师归纳总
7、结 - - - - - - -第 2 页,共 19 页600 定的,新闻网站可以将一些新闻静态化,这样就能够保证服务器只需要承受较少的压力依旧可以承担百万级的访问量。生成静态就是将数据库中的数据或相应的字段进行静态化,例如将.aspx 页面的文件进行静态化生成成为 .html 页面。 .html 是静态页面,当用户访问.html 页面时无需进行数据操作和逻辑操作,对于服务器而言只需要将.html 文本发送到浏览器就能够显示页面的内容。这样无疑增加了访问速度。如果网站要生成静态,其基本模块流程如图25-2 所示。图 25-2 生成静态解决方案虽然静态化能够降低服务器的压力,但是静态化同样会牺牲很
8、多的空间。如果将新闻数据中的每个数据进行静态化,这也就是说每一条新闻就会生成一个.html 页面,那么有十万条新闻就会生成十万个.html 页面,这对服务器操作系统和I/O 读写也有更高的要求,如果文件太多,打开文件夹的速度还不如读取数据库。虽然静态化是一个解决方案,但是很多情况下也可以不使用静态化。如果系统不使用静态化,可以使用非静态化的解决方案,如图25-3 所示。图 25-3 非静态化的解决方案相比之下,非静态化的解决方案在实现上来说更加容易,因为静态化的实现方案还需要解析模板。在新闻模块的编写中,可以事先考虑是选择静态化的解决方案还是选择非静态化的解决方案,静态化的解决方案和非静态化的
9、解决方案在开发过程中虽然可以替换,但是也有一定的开发风险。而对于管理员而言,无需关心是否是静态化的解决方案还是非静态化的解决方案。在后台的操作过程中,管理员只关心自己如何能够快速的进行添加新闻和修改新闻等操作,在执行了相应的操作后,管理员就能够在前台进行新闻显示。25.3 数据库设计新闻模块同样需要多个表进进行新闻描述和新闻操作,同样,为了安全起见和模块的可扩展性,还需要其他的表进行数据存储,这些表能够进行新闻的存储、身份验证、新闻分类的增删以及静态化生成保存等操作。23.3.1 数据库设计在新闻模块设计中,需要多个表进行新闻描述,同时为了保证管理用户的安全性,还需要设计管理精选学习资料 -
10、- - - - - - - - 名师归纳总结 - - - - - - -第 3 页,共 19 页601 员表,这些表包括news、newsclass和 admin 三个表,这三个表分别存储新闻、新闻分类和管理员信息。在创建表之前, 首先需要创建数据库news,创建完成后就能够创建相应的表。在对新闻模块进行流程分析之后,就能够大概的设计出这三个表中所需要的字段,其中news表所包含的字段如下所示。新闻编号:用于标识新闻,为自动增长的主键。新闻标题:用于表示新闻的标题。发布时间:用于表示新闻发布的事件。新闻作者:用于表示新闻的作者。新闻内容:用于表示新闻的内容。发布天气:用于表示新闻发布的天气。新
11、闻等级:用于表示新闻的等级。阅读次数:用于表示新闻的阅读次数。新闻分类:用于表示新闻的分类,为整型字段。对于新闻分类表而言,可以使用少数字段进行新闻分类的描述,新闻分类表的字段如下所示。分类编号:用于标识新闻的分类,为自动增长的主键。分类名称:用于显示新闻分类的名称。在管理员进行新闻操作之前,首先需要验证身份,如果管理员是合法用户则通过验证,否则就不允许进行后续操作,管理员的身份验证和登录模块基本相同,但是其功能要比登录模块少很多,admin 表结构中的字段如下所示。管理员编号:用于标识管理员信息,为自动增长的主键。管理员用户名:用于标识管理员用户名。管理员密码:用于标识管理员的密码,通常情况
12、下和管理员用户名一起进行身份验证。对于新闻表而言,其功能并不是十分的复杂,而新闻模块的难度不在于数据库的设计上,而在于前台显示和静态生成,静态生成主要是要利用模板解析技术进行静态生成,模板解析技术可以使用编程的方法进行编写也可以使用数据库进行模板技术的支持,这里使用 htm文本作为数据库进行技术解析处理,将在后面的章节进行介绍。25.3.2 数据表的创建创建表可以通过SQL Server Management Studio 视图进行创建也可以通过SQL Server Management Studio 查询使用SQL 语句进行创建。新闻模块同样需要创建多个表进行模块功能的实现,首先最重要的是
13、news 表, news 表的字段如下所示。id:用于标识新闻,为自动增长的主键。title:用于表示新闻的标题。time:用于表示新闻发布的事件。author:用于表示新闻的作者。content:用于表示新闻的内容。weather:用于表示新闻发布的天气。level:用于表示新闻的等级。hits:用于表示新闻的阅读次数。classname :用于表示新闻的分类,为整型字段。确定好 news 表的各个字段后,就能够创建一个news 表, news 表结构如图25-4 所示。精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 4 页,共 19 页602
14、图 25-4 news 表结构图中的字段描述了相应的字段在实际应用中的意义,创建表的SQL 语句如下所示。USE news GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE TABLE dbo.news( /创建 news 表id int IDENTITY(1,1) NOT NULL, title nvarchar(50) COLLATE Chinese_PRC_CI_AS NULL, time datetime NULL, author nvarchar(50) COLLATE Chinese_PRC_CI_AS NULL,
15、 content nvarchar(3000) COLLATE Chinese_PRC_CI_AS NULL, weather nvarchar(50) COLLATE Chinese_PRC_CI_AS NULL, level int NULL, hits int NULL, classname int NULL, CONSTRAINT PK_news PRIMARY KEY CLUSTERED ( id ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCK
16、S = ON, ALLOW_PAGE_LOCKS = ON) ON PRIMARY ) ON PRIMARY news 表中的 classname 字段为整型字段,这也就是说classname字段为另一个表的外键,另一个表newsclass用于描述新闻的分类的信息,newsclass字段如下所示。id:用于标识新闻的分类,为自动增长的主键。classname :用于显示新闻分类的名称。上述字段描述了newsclass 表中需要使用的字段,可以使用SQL 语句进行表和字段的创建,创建newsclass表的 SQL 语句如下所示。USE news GO SET ANSI_NULLS ON GO S
17、ET QUOTED_IDENTIFIER ON GO CREATE TABLE dbo.newsclass( /创建 newsclass表id int IDENTITY(1,1) NOT NULL, classname nvarchar(50) COLLATE Chinese_PRC_CI_AS NULL, CONSTRAINT PK_newsclass PRIMARY KEY CLUSTERED 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 5 页,共 19 页603 ( id ASC )WITH (PAD_INDEX = OFF, STATI
18、STICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON PRIMARY ) ON PRIMARY 上述代码创建了newsclass表, 创建完成后, 还需要创建admin 表, 通过上述字段描述可以了解admin表只需要保存管理员的用户名和密码即可,则其字段可以描述为如下所示。id:用于标识管理员信息,为自动增长的主键。admin:用于标识管理员用户名。password:用于标识管理员的密码,通常情况下和管理员用户名一起进行身份验证。上述字段描述了admin 表
19、中需要使用的字段,可以使用SQL 语句进行表和字段的创建,创建newsclass表的 SQL 语句如下所示。USE news GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE TABLE dbo.admin( /创建 admin 表id int IDENTITY(1,1) NOT NULL, admin nvarchar(50) COLLATE Chinese_PRC_CI_AS NULL, password nvarchar(50) COLLATE Chinese_PRC_CI_AS NULL, CONSTRAINT PK_
20、admin PRIMARY KEY CLUSTERED ( id ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON PRIMARY ) ON PRIMARY 上述代码创建了admin 表,用于进行管理员的身份验证,创建完成后的admin 表和 newsclass 表如图 25-5 和图 25-6 所示。图 25-5 admin 表结构图 25-6 newsclass表结构创建完成 admin
21、 表之后就需要插入一个管理员,在SQL 中可以新建查询并执行SQL 语句进行管理员表中数据的插入,示例代码如下所示。INSERT INTO admin (admin,password) VALUES ( guojing , 0123456 ) 执行上述代码就能够进行admin 表的数据插入,插入一个新管理员之后,就能够在后面的登录操作中使用该表的管理员信息。25.4 界面设计新闻模块包括众多的页面,这些页面包括登录页面、后台框架集、新闻发布页面、新闻删除页面等精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 6 页,共 19 页604 页面,这些页面
22、都需要进行界面设计。在后台的开发过程中,虽然对后台的界面设计并没有苛刻的要求,但同样需要良好的用户体验,本章使用Microsoft Expression Web 2进行页面设计。25.4.1 登录界面登录界面用于进行管理员的身份验证,管理员可以在后台进行登录执行相应的新闻操作,如果管理员为合法用户,则允许进行新闻操作,否则不允许进行新闻操作,登录界面HTML代码见光盘中源代码 第 25 章25-125-1adminlogin.aspx 。上述代码使用了TextBox 控件以及验证控件和按钮控件,这些控件用于验证用户输入的是否正确并且判断用户是否为合法管理员,管理员可以通过该页面进行登录操作。如
23、果登录成功,系统会跳转到后台管理框架集中,如果登录不成功,则会提示相应的错误信息。25.4.2 后台框架集后台操作中,为了提高页面的友好度,可以使用框架集进行后台开发,框架集是多个网页组成的一个页面,使用框架集能够在不刷新的情况下进行页面跳转,使用Microsoft Expression Web 2可以制作框架集。 在 Microsoft Expression Web 2中,单击【文件】 选项, 在下拉菜单中单击【新建】 选项, 单击【网站】选项,在弹出窗口中选择框架集,如图25-7 所示。框架集可以将多个页面放置在同一个页面,在 Microsoft Expression Web 2 中可以创
24、建框架集并为框架集中的页面进行指定或新建,如图25-8 所示。图 25-7 创建框架集图 25-8 设置初始网页或新建网页开发人员可以在框架集中创建网页或选择设置初始网页,这里创建三个网页,头部的网页用于显示后台管理的基本信息,包括这是什么后台管理系统;左侧的边栏用于显示操作,这里使用TreeView控件进行显示;中间为主操作区,该操作区用于后台中主要的页面操作。设置完成后示例代码见光盘中源代码 第 25 章25-125-1admindefault.aspx 。页面中的代码使用了一个框架集。在该框架集中包括三个页面,这三个页面分别为top.aspx、 left.aspx和 center.asp
25、x,其中 top.aspx 用于显示相应的信息,主要是用来作为导航或者后台提示,left.aspx 用于显示导航,使用TreeView 控件能够为该页面制作相应的导航,而center.aspx 用于呈现相应的操作页面,在这里可以被成为主工作区。开发人员能够在不同的页面进行布局,控件拖动和事件等操作,当用户访问框架集时,各个页面之间互不影响,可以在框架集之间进行页面跳转,其中left.aspx代码见光盘中源代码第25 章25-125-1adminleft.aspx 。精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 7 页,共 19 页605 Left
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年完整word版 ASP.NET开发大全第25章.新闻模块设计 2022 完整 word ASP NET 开发 大全 25 新闻 模块 设计

限制150内