在前面的文章中,我们已经就.NET Petshop的数据层和中间的业务逻辑层作了说明,接下来的文章中,我们将就数据展示层作探究。与前面的两层有着很大的差别的是,.NET Petshop的展示层用了很多Microsoft最新的web Forms技术即Asp.NET。因此,在解说展示层之前,我想就Asp.NET在.NET Petshop的开发中使用到的非常重要的特性做一些说明,以示区别:<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />
(1) Asp.NET代码不再是解释型代码,可以经由JIT编译器编译后运行,并且引入了很好的页面缓冲机制。
(2) ASP.Net的配置模型引入了基于XML文件的“零安装”配置模型。零安装的含义是只需将配置文件Web.config,应用程序拷贝到系统指定的目录下即可,需要更改时直接在文件里更改并保存。
(3) 安全管理 ASP.Net提供了比传统ASP更强大可靠的安全管理。Asp.NET提供了三种验证方式以及两种类型的授权服务。
(4) 支持代码和页面内容的分离。回想以前编写Asp程序的时候的问题:代码逻辑混乱,难于管理。
(5) 提供了更好的状态管理,包括会话状态的管理和视图状态的管理。
(6) 大量的ASP.NET服务器端控件和对用户控件的开发的支持。
.NET Petshop充分的使用了服务器控件技术和会话状态管理。展示层的交互界面均采用aspx页面,后端有分离的逻辑代码。.NET Petshop共有19个aspx页面和代码逻辑。在这里一一里列出,并说明设置参数和其作用。
ASP.NET Web页面
|
EnableSessionState
|
EnableViewState
|
备注说明
|
Cart.aspx
|
true
|
true
|
购物清单
|
Category.aspx
|
True
|
false
|
产品分类的列表
|
CheckOut.aspx
|
Readonly
|
false
|
订单确认
|
CreateNewAccount.aspx
|
False
|
true
|
创建新帐号
|
Default.aspx
|
False
|
false
|
系统首页面
|
EditAccount.aspx
|
False
|
true
|
账号编辑
|
Error.aspx
|
False
|
false
|
错误处理
|
Help.aspx
|
False
|
false
|
帮助
|
OrderAddressConfirm.aspx
|
readonly
|
false
|
订单地址确认
|
OrderBilling.aspx
|
True
|
true
|
订单信息
|
OrderProcess.aspx
|
readonly
|
false
|
下订单
|
OrderShipping.aspx
|
True
|
true
|
订单地址和姓名
|
Product.aspx
|
False
|
false
|
产品列表
|
ProductDetails.aspx
|
false
|
false
|
产品详细信息
|
Search.aspx
|
false
|
false
|
搜索
|
SignIn.aspx
|
false
|
false
|
帐号登陆
|
SignOut.aspx
|
true
|
false
|
帐号退出
|
ValidateAccount.aspx
|
false
|
false
|
帐号创建确认
|
VerifySignIn.aspx
|
false
|
false
|
账号登陆确认
|
.NET Petshop使用了很多用户控件,这些控件位于web/Inc目录下面。表格2对用户控件作出说明:
User Controls
|
EnableViewState
|
备注说明
|
ControlAddress
|
true
|
详细地址列表
|
ControlBanner
|
false
|
页面底部的banner
|
ControlCart
|
true
|
购物清单
|
ControlFavList
|
false
|
个人Favorites列表
|
ControlHeader
|
false
|
页面顶部的菜单和链接
|
ControlStaticAddress
|
false
|
不能编辑的地址信息
|
下面列出一段代码,说明这些参数的设置和用户控件的引用:
/* 摘自Cart.aspx */
<%@ Register TagPrefix="PetShop" TagName="Cart" Src="Inc/ControlCart.ascx" %>
<%@ Register TagPrefix="PetShop" TagName="Header" Src="Inc/ControlHeader.ascx" %>
<%@ Page language="c#" Codebehind="CheckOut.aspx.cs" AutoEventWireup="false" Inherits="PetShop.Web.CheckOut" EnableSessionState="readonly" enableViewState="False"%>
开始的两个Registe指令用于引用ControlCart和ControlHeader的用户控件,Page指令定义 ASP.NET 页分析器和编译器使用的页特定的属性。
在控件的排放位置使用下面的代码既可以显示该控件了:
<PetShop:Cart id="ctlCart" runat="server" allowedit="false" />
在上面的代码中allowedit一项是向实例化的ctlCart传递参数。我个人认为用户控件是一个很好的东西,可以简化web页面的开发模型又可以达到代码复用的目的,而且其开发非常简单,与aspx的开发基本是一样的。图1说明了设计模式下和运行时的用户控件。
<?xml:namespace prefix = v ns = "urn:schemas-microsoft-com:vml" /><shapetype id="_x0000_t75" coordsize="21600,21600" o:spt="75" o:preferrelative="t" path="m@4@5l@4@11@9@11@9@5xe" filled="f" stroked="f"><stroke joinstyle="miter"></stroke><formulas><f eqn="if lineDrawn pixelLineWidth 0"></f><f eqn="sum @0 1 0"></f><f eqn="sum 0 0 @1"></f><f eqn="prod @2 1 2"></f><f eqn="prod @3 21600 pixelWidth"></f><f eqn="prod @3 21600 pixelHeight"></f><f eqn="sum @0 0 1"></f><f eqn="prod @6 1 2"></f><f eqn="prod @7 21600 pixelWidth"></f><f eqn="sum @8 21600 0"></f><f eqn="prod @7 21600 pixelHeight"></f><f eqn="sum @10 21600 0"></f></formulas><path o:extrusionok="f" gradientshapeok="t" o:connecttype="rect"></path><lock v:ext="edit" aspectratio="t"></lock></shapetype>
图1:设计模式和运行时的ctlCart用户控件
接下来的文章我们将就系统配置和安全管理作进一步的说明。
分享到:
相关推荐
Net Petshop详解(一): petshop概览和准备工作 Net Petshop详解(二): petshop三层结构之DataTier ...Net Petshop详解(四):petshop三层结构之PresentationTier Net Petshop详解(五):petshop输出缓存设置
.net petshop非常详细的说明解释
四 petshop三层结构之PresentationTier.doc
基于 .NET Framework 3.5 的 Petshop,使用 LINQ to SQL 改进数据访问层,使用 WCF 来提供RSS,并在 UI 层上做一些改进,如使用 ASP.NET AJAX,ListView 控件等; ☆ 文件清单:☆ PetShop for .Net 3.5 (Source ...
业界有许多.Net与J2EE之争,许多数据是从微软的PetShop和Sun的PetStore而来。这种争论不可避免带有浓厚的商业色彩,对于我们开发人员而言,没有必要过多关注。然而PetShop随着版本的不断更新,至现在基于.Net 2.0的...
.net petshop4.0 三层结构的示例程序 安装 以及附带的三层结构相关资料
PetShop4.0官方的ASP.NET三层电子商务范例及PetShop技术详解!
petshop4.0 详解之四(PetShop之ASP.NET缓存) .doc
.NET PetShop购物程序
微软展示企业开发的优秀范例 petshop4.0 基于 .net2.0。petshop5.0 基于.net3.5。petshop5.0 没有官方版本。
三层架构 初学者 petshop详解 petshop正版安装软件(2.1M) 本人在里面添加了4个学习petshop开发的详细步骤,以及数据库建立,以及怎样在vs2005中一步步教你怎么操作。是本人学习三层架构的经典资料。共享了,希望对...
PetShop版本为4.0。采用了.Net Framework 2.0和Asp.Net。 是一个很好的学习.Net设计的实例。
The .NET Pet Shop application is designed to show the best practices for building enterprise, n-tier .NET 2.0 applications that may need to support a variety of database platforms and deployment ...
微软的分层架构,大家可以学习下...希望对菜鸟有帮助
非原创) petshop4.0 详解之一(系统架构设计 petshop4.0 详解之二(数据访问层之数据库访问设计 petshop4.0 详解之三(PetShop数据访问层之消息处理) petshop4.0 详解之四(PetShop之ASP.NET缓存) ...
ASP.Net经典案例 PetShop2.0(三层架构),介绍三层架构的使用。。包括文档,源代码
本资料包括: PETSHOP4.0全面分析 PETSHOP4.0详细分析 Petshop4.0详解.pdf ...Microsoft .Net Petshop详解一到五: petshop概览和准备工作.doc Microsoft .NET Pet Shop 4:将 ASP.NET 1.1 应用程序迁移到 2.0.doc
petshop 不用我多说了吧,大家好好研究吧,里面有数据直接安装就行了
.net三层架构源代码,PetShop系统,仅供学习参考