ASP.NET 2.0入门经典(第4版)
2.1 总体设计目标
2.1 总体设计目标
在开始开发Web正月十六早安图片站点之前,通常应该设想好站点所具有的功能;例如,一个博客(blog)站点,必须能够对帖子进行分类存储、向帖子添加评论,还需有进行管理的模块,这些是最少的功能。另外,考虑一个简单的零售商店,它想进入电子商务领域,它希望通过Web站点让客户浏览并购买商品。在着手开发任何一个站点之前,都必须仔细地考虑和设计,之后才能编写代码实现站点。
在开始讨论具体技术的实现时,我们应先讨论如何使用ASP.NET 2.0服务器端控件所支持的功能开发设计良好的站点。毕竟,创建、使用和维护经过良好设计的站点要容易得多,而且维护费用更低。颐怎么读音
本章将介绍以下概念:
小糯米不是杨幂生的● 怎样启动站点的设计流程,并在开始编写代码之前考虑站点的所有需求。
● 使用Master和Content页面实现站点的一致外观,这是ASP.NET 2.0最重要的新功能。
● 创建站点地图,该地图表明站点中存在哪些页面,以及这些页面在层次上与其他文件是什么关系。
● 使用fig和Global.asax文件保存数据和代码的全局配置,这些配置将用于站点的所有页面。
在本章的结束部分有一些练习可以帮助加深对这些概念的理解。
1.1 总体设计目标
设计一个功能完整的Web应用程序是一项很复杂的任务。如果是开发自己的站点,可能对站点是什么样子考虑得已经很多很具体了,所以在开始编写代码之前知道自己要做什么。然而,如果是为客户开发站点,就必须确保在站点的设计上与客户在各个细节上达成高度的一致。在一个专业的开发环境中,这个过程通常包括如下步骤:
● 开发一个功能模型,该模型描述站点的具体运行情况。当用户单击Log In按钮时会发生什么事情?当用户想浏览产品时哪些功能是可用的?在开始设计之前,需要回答这些问题以及其他很多问题,以免最后开发出来的站点不是客户想要的!
● 确定在实现站点的过程中可以使用的技术。很多主机软件包对数据库的支持都有不同程度的限制,进而限制站点的总体大小,所以要尽早讨论这个问题并确保能使用所希望使用的技术。
● 开发一个技术说明书,描述怎样实现所需的功能。例如,对于博客站点,当用户单击按钮发布新帖子的时候,如何确保将用户输入的文本保存到数据库中?描述要尽可能地详细,因为以后维护这个站点的人很可能不再是当初的开发人员。
这似乎需要做很多工作,但即使是对比较小的企业或者单个贸易承包人,遵循这个流程将帮助开发人员和客户保持良好的合作关系,并为将来和客户以及客户的朋友或商业伙伴继续合作打下基础。
从一旦业务端进入实现阶段,就要开始考虑如何实现这个应用程序,如何使得站点的设计符合客户的需求。创建Web应用程序并不仅仅要求能正确地使用ASP.NET 2.0服务器端控件,因为网页的具体设计和布局也同样重要。
注意,术语设计(design)有两层意思。第一层意思是对彩和布局做出选择,这通常由站
点的美工人员完成。第二个定义包括站点的智能结构和各个部分之间的协作关系。这包括为信息的体系结构制定计划;作为开发人员,您希望在关系数据库中保存尽可能多的信息。本章专注于第二种定义。下一章介绍怎样混合使用HTML和ASP.NET控件设计站点中的每个页面。
Wrox United示例站点的如下几个总体设计目标是在本章中实现的:
● 在开发过程中尽可能使排查问题变得容易,以便简化追踪错误的过程。
● 设置站点在部署后处理错误的标准。
● 为所有页面创建一致的外观。
注意:
其他总体设计目标将在本书的后续章节中讨论,包括鉴别会员的登录系统界面(关于桥的成语第4章)、为站点设置统一的样式和主题风格(移动手机流量查询第5章)和在数据库或XML数据文件中获得尽可能多的信息(第7和第8章)。
2.2 Master和Content页面
站点具有一致的外观有很多好处,在Internet上很少看到没有统一布局的站点。统一的布局通常包括以下内容:
● 一个公共标题和整个站点的菜单系统。
直到世界尽头● 页面左边的导航条,提供一些页面导航选项。
● 提供版权信息的页脚和一个用于联系网管的二级菜单。
这些元素将显示在所有页面上,它们不仅提供了最基本的功能,而且这些元素的统一布局也使得用户意识到他们仍处于同一个站点内。虽然这种外观可以使用在HTML中包含文件的方式创建,但是ASP.NET 2.0通过Master和Content页面机制提供了更强健的工具。
Master页面定义了所有基于该页面的网页使用的布局。它是页面布局的最高控制,指定了每个页面上的标题应该多大、导航功能应该放置在什么位置、以及在每个页面的页脚中应该显示什么内容—— 有些类似每个页面的形状切割插件(cookie cutter)。Master页面包含
了一些可用于站点中所有页面的内容,所有可以在这里定义标准的版权页脚,并将站点的主要图标放置在页面的顶部。一旦定义好Master页面的标准特性之后,接下来将添加一些占位符(placeholder)—— 页面上的命名区域,这些区域将包含不同的页面。
每个Content页面都以Master页面为基础,开发人员将在这里为每个页面添加具体的内容。Content页面包含文本、HTML和位于<asp:content>标记内的控件。当关于某个Content页面的请求到达时,该Content页面将和它的Master页面的一个副本组合到一起,由Master页面中特定的占位符包含Content页面的内容。然后完整的页面将发送到浏览器,如图2-1所示。
图 2-1
幸运的是,构造这一体系的重担由ASP.NET 2.0承担;开发人员只需创建下面两个小节中讨论的Master和Content页面即可。
2.2.1 创建Master页面
要创建Master页面,可以在VWD的Solution Explorer中右击根目录,选择Add Item,并将类型指定为Master Page。默认情况下,新Master页面的名称是MasterPage.master,位于站点的根目录中。Master页面由三部分组成。
首先是一些基本的标记(tag)和标志(例如Master页面的标志,DOCTYPE、xmlns、html和head标记),所有已显示出来的页面都会包含这些内容。这些内容在Master页面中只输入一次,以减少重复工作。DOCTYPE和xmlns指示服务器可以从何处查看页面中所使用的标记的定义。注意这些标记不会出现在Content页面中:
<%@ master language="VB" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="/1999/xhtml">
<head id="PageHead" runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta http-equiv="Content-Language" content="en-uk" />
<title>Wrox United</title>
<link rel="stylesheet" type="text/css" href= "site.css" runat="server"
/>
</head>
其次,Master页面中有一个用于存放脚本的区域,这些脚本可以在所有的页面上运行(例如,Page_Load的代码,该事件在页面每次加载的时候都会运行),例如:
<script runat="server">
Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs)
' ...
End Sub
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论