ASP.NET快速构建企业站点

2023-01-24

企业网站是一个可以发布企业信息、提供顾客服务, 以及在线销售的渠道。设计一个完整的企业网站, 一般包括以下四个步骤来实现 (不考虑数据库设计方面) :设计界面风格、实现数据库访问、实现逻辑代码、完成界面呈现。下面以某企业的产品展示为例, 谈谈笔者在这几方面的开发经验。

1 设计界面风格 (样式表布局)

Web项目的特点就是界面非常重要, 不管技术怎么样, 用什么设计模式, 只要能达到效果就可以。客户并不关心设计过程, 只关心他看到的东西, 那就是界面和功能。

界面设计最好的做法是让美工和程序员亲自上门服务, 一边设计, 一边征求意见, 从客户和程序员两个方面进行综合, 最终定稿, 一般定稿包含若干典型页面, 例如首页、产品列表页和产品明细页面。

我们谈的是在定稿已经确定, 到程序实现阶段, 这里面方法也有很多种, 其中相对较合理的实现方法如下。

1.1 设计框架

按照美工要求用DIV搭建好页面框架, 目前只要明确需要几个DIV, 每个DIV是做什么的就可以了。

1.2 把要展现的内容写到对应的D IV里面, 这里要注意两点

(1) 什么样的内容用什么样的标签:例如标题用h1~h6, 列表用ul或ol, 段落用p, 这一点很重要。在后面写样式表的时候能达到事半功倍的效果。

(2) 不要想怎么好看:这里再强调一下:不要思考这个DIV有多宽, 那个标题用什么颜色合适。这里只做内容, 不谈外观。

1.3 写样式表

和上面正好相反, 这里就要思考如何摆放, 内容已经都准备好了, 你要做的就是让他们按照客户的要求呈现出来。

(1) 先总后分:先思考总体的样式, 例如整体如何布局, 用什么背景, 什么字体等。然后思考具体的实现:这个标题要突出一下等等。

(2) 用类样式:ASP.NET里面ID有特殊的用途, 而且在呈现的时候ID会变掉, 从而导致样式消失, 当然可以通过控件的ClientID来指定, 终究不是解决之道, 所以从开始就用类样式, 避免出现问题。

2 实现数据访问

小项目基本上不用考虑架构问题, 怎么方便怎么写, 大一点的话就要考虑架构问题, 目前比较通用的三层架构:界面层、数据访问层、业务逻辑层 (含实体层) 。

作为程序员, 当你拿到页面的时候和功能需求的时候, 基本上就能分析出, 一个页面需要哪些数据交互。那么把他整理出来, 可以先写方法签名, 不写具体实现。

例如针对商品前台部分, 我们有获取商品列表, 查看商品明细两个操作。那么写下来:

P u b l i cL i s t

GetAllProduction ()

这里返回的是泛型集合, 也可是DataTable, 这样不需要实体类。

如此整理下来可以总结出几乎所有的数据库操作, 也可以先整理一个小的模块, 例如针对商品的操作。

整理出来之后不要急于写代码实现, 好好分析一下:他们有哪些方法可以提取公共代码?哪些方法有关联, 可以放在一起?然后再去实现。这里推荐大家使用微软项目PETSHOP4.0里面的SQLHelper.cs, 他把数据库访问的操作都封装起来了, 调用也很方便。

有些程序员喜欢写存储过程来实现, 如果项目较大, 几个人分工合作的话, 可能会导致彼此分工不明确, 因为存储过程常常包含了一定的业务逻辑, 这会影响到项目的扩展, 当然合理的分工布置可以避免这样的问题。

3 实现逻辑代码

初学者常常不理解为什么要逻辑层, 因为它常常像个跳板, 数据从这儿过了一下, 没什么实际用处。

小项目里面的确没有多少业务逻辑的必要, 例如我只是读个产品列表出来, 这的确可以不要逻辑层的。但你可以想象:某论坛客户发了帖子:界面层只要收集或呈现客户数据。而数据层只负责与数据库交互当中, 那么帖子的内容谁来审核?该客户积分状态谁来处理呢?他可能因此获得积分, 也因此获得等级的提升。这就有了逻辑处理的必要, 在商业程序上有很多这样的例子。

业务逻辑层关键的地方是要弄清楚客户在界面上操作了一下, 背后意味着什么?特殊情况该如何处理?很多时候他是和数据逻辑层挂钩的。

4 完成界面呈现

有了界面的模板, 有了数据的支撑, 最终界面的呈现就显得水到渠成。而且微软把这方面做的很到位, 例如数据呈现, 可以用Repeater来显示列表。用DetailsView来显示商品明细, 用Menu或TreeView来显示菜单等等, 帮我们节省了大量的代码。但这里要提醒一下大家, 这很有可能会带来性能上的损失。下面重点说下Repeater、GridView控件, 这两个控件都是用来显示产品列表或者新闻列表, 基本原理也相似, 但用途不同。

GridView控件是数据列表控件, 他的主要作用是用来显示表格数据的。例如后台当中我们做的产品管理。但他不适合做前台页面的呈现, 一个很重要的原因是他会在编译后生成Table。我们知道在产品展示页面用Table是很忌讳的事情, 因为Table有一个很大的缺点:它在没有完全下载下来之前是不会呈现出来的, 这给客户体验带来很不好的效果。那么GridView就不能满足要求。但在后台进行快速开发, 和少量数据的管理工作确是很不错的选择。前台我们则用Repeater控件。

我们用Repeater之后, 就不再需要写for结构了, 而且获取数据也方便了很多。Repeater相对GridView而言, 显得更加灵活。而且不生成任何附加代码。因此效果非常好。

5 结语

以上是使用VS2005进行开发的过程, 你还可以使用一些代码生成工具来加速开发过程, 如果使用vs2008, 速度可以更快, 你可以使用LINQ技术进行快速的读取和访问。

在一般的项目中, 我们的工作核心就是设计好页面、把握好客户的需求、逻辑处理。而页面呈现和数据访问, ASP.NET已经帮我们考虑了很多, 大大的简化了我们的工作量。当然, 在了解这些控件给我们带来好处的同时, 也应该知道他的弊端, 这样才能游刃有余。

摘要:本文以某企业产品展示为例, 从四个方面讲述了基于asp.net2005与SqlServer2005, 如何快速搭建企业站点的经验与方法。

关键词:样式表布局,数据访问,界面设计,业务逻辑