ASP.NET 2.0網站開發全程解析

所属分类:編程語言與程序設計  
出版时间:2008-6   出版时间:清華大學出版社   作者:貝爾利納索   页数:533   译者:楊劍  

内容概要

  利用ASP.NET 2.0的內置功能減少編程工作量。  用獨特靈活的方法解決網站開發過程中遇到的各種問題。  實現主題、成員關系、個性化、本地化、模板頁面、web Part及緩存等新功能。  掌握GridView、DetailsView、MultiView、Wizard、Menu、SiteMap和Login等新服務器控件。

作者简介

  Marco BellinasO,是意大利CodeArchitects SrL公司的合伙人之一,這家公司專門為微軟平台提供咨詢、指導、開發和培訓。作為一名資深的顧問和開發人員,MarcO對所有的Web開發技術都特別感興趣。他著重于用微軟的產品和技術開發大型Web網站,包括SharePoint 2003、MCMS,當然還有ASRNET 2.0和SQL Server 2005。從.NET Framework的Beta 1版開始,他就已經在Web Services、Windows Forms和Windows Services等方面進行了許多應用。他同時還是一系列商業開發工具的開發者或合作者,如獲獎的VBMaximizer插件、用于.NET的CodeBox和FormMaximizer。在.NET發布之前,Marco是一個VB開發者,與COM和ASP開發者一樣,他也善于應用高級的底層APl技術來開發Windows程序。

书籍目录

第1章 项目介绍——TheBeerHouse1.1 提出问题1.2 设计方案1.3 解决方案1.4 小结第2章 进行网站设计2.1 提出问题2.2 设计方案2.2.1 设计网站布局2.2.2 实现设计时用到的技术2.2.3 在样式表文件中使用CSS定义样式2.2.4 避免使用HTML表格控制布局2.2.5 在多个页面中共享通用设计2.2.6 创建可供用户选择的主题2.2.7 创建一个导航系统2.2.8 创建一个可访问的网站2.2.9 在所有页面上共享通用行为2.3 解决方案2.3.1 创建网站设计2.3.2 创建模板页面2.3.3 创建站点地图文件2.3.4 创建第一个主题2.3.5 创建一个示例Default.aspx页面2.3.6 创建第二个主题2.3.7 创建ThemeSelector用户控件2.3.8 再对样式进行小修改2.4 小结第3章 设计体系结构3.1 提出问题3.2 设计方案3.2.1 设计分层结构3.2.2 选择一个数据库3.2.3 设计数据访问层3.2.4 设计业务逻辑层3.2.5 存储连接字符串及其他设置3.2.6 用户界面3.3 解决方案3.3.1 TheBeerHouse的配置部分3.3.2 DAL的基类:DataAccess3.3.3 BLL的基类:BizObject3.3.4 配置健康监控系统3.4 小结第4章 成员和用户配置4.1 提出问题4.2 设计方案4.2.1 密码存储方法4.2.2 认证模式:Windows security 还是自定义登录表单4.2.3 让每件事情都由自己完成4.2.4 Membership和MembershipUser类4.2.5 提供程序模型设计模式4.2.6 关于SqlMembershipProvider的更多细节4.2.7 浏览默认的SQL Server数据库4.2.8 图形登录控件4.2.9 建立和使用角色4.2.10 建立和使用用户资料4.2.11 网站管理工具4.2.12 设计解决方案4.3 解决方案4.3.1 配置文件4.3.2 创建登录框4.3.3 AccessDenied.aspx页面4.3.4 UserProfile控件4.3.5 用户资料编辑页面4.3.6 将用户选择的主题持久化4.3.7 管理部分4.4 小结第5章 新闻与文章管理5.1 提出问题5.2 设计方案5.2.1 要实现的功能5.2.2 存储过程5.3.3 设计配置模块5.2.4 设计数据访问层5.2.5 设计业务层5.2.6 设计用户界面5.2.7 安全需要5.3 解决方案5.3.1 数据库解决方案5.3.2 实现配置模块5.3.3 实现数据访问层5.3.4 实现业务逻辑层5.3.5 实现用户界面5.3.6 进行安全性设置5.3.7 带有UrlMapping的友好URL5.4 小结第6章 民意调查6.1 提出问题6.2 设计方案6.2.1 要实现的功能6.2.2 处理多次投票6.2.3 设计数据库表6.2.4 管理数据库的存储过程6.2.5 设计配置模块6.2.6 设计数据访问层6.2.7 设计业务层6.2.8 设计用户界面6.2.9 PollBox用户控件6.3 解决方案6.3.1 数据库部分的工作6.3.2 实现配置模块6.3.3 实现数据访问层6.3.4 实现业务逻辑层6.3.5 实现用户界面6.4 小结第7章 邮件列表7.1 提出问题7.2 设计方案7.2.1 关于垃圾邮件的声明7.2.2 创建和发送E-mail7.2.3 处理服务器上的长时间操作7.2.4 设计数据库表7.2.5 存储过程7.2.6 设计配置模块7.2.7 设计数据访问层7.2.8 设计业务层7.2.9 设计用户界面7.3 解决方案7.3.1 实现配置模块7.3.2 实现数据访问层7.3.3 实现业务逻辑层7.3.4 实现用户界面7.4 小结第8章 论坛8.1 提出问题8.2 设计方案8.2.1 设计数据库表8.2.2 存储过程8.2.3 设计配置模块8.2.4 设计数据访问层8.2.5 设计业务类8.2.6 设计用户界面8.3 解决方案8.3.1 数据库实现8.3.2 实现数据访问层8.3.3 实现业务逻辑层8.3.4 实现用户界面8.4 小结第9章 电子商店9.1 提出问题9.2 设计方案9.2.1 选择一种在线付款方案9.2.2 使用PayPal作为支付服务9.2.3 设计数据库表和存储过程9.2.4 设计配置模块9.2.5 设计数据访问层9.2.6 设计业务层9.2.7 设计用户界面9.3 解决方案9.3.1 实现业务逻辑层9.3.2 实现用户界面9.4 小结第10章 个性化设置与Web Part10.1 提出问题10.2 设计方案10.2.1 开发Web Part10.2.2 Web Part架构内置控件10.2.3 配置Web Part架构10.2.4 总结:设计解决方案10.3 解决方案10.3.1 创建Web Part10.3.2 修改模板页面10.3.3 允许进行页面级别的个性化设置10.4 小结第11章 网站本地化11.1 提出问题11.2 设计方案11.2.1 回顾ASP.NET 1.x中的本地化11.2.2 ASP.NET 2.0中新的本地化功能11.2.3 使用全局资源11.2.4 使用页面级资源11.2.5 对更多的静态内容进行本地化11.2.6 设置当前语言11.3 解决方案11.4 小结第12章 部署网站12.1 提出问题12.2 设计方案12.2.1 在SQL Server 2005中部署数据库12.2.2 部署网站12.3 解决方案12.4 小结

章节摘录

  第1章 项目介绍——TheBeerHouse  本章介绍的是在本书中要开发的一个项目。将解释该示例网站所涉及到的概念。在阅读过程中,读者应当意识到这是一种多功能的、数据驱动的、基于内容模式的网站,而且可以方便地修改该网站以满足实际需求。虽然本书中会使用许多ASP.NET旧的功能,但重点还是介绍如何在实际网站开发过程中使用ASP.NET 2.0的强大功能。  本书的每一章都使用“提出问题一设计方案一解决方案”的方法进行讲述:“提出问题”部分提出每章所要完成的模块的业务需求,“设计方案”部分开发符合这些需求的解决方案,“解决方案”部分编写代码来实现设计方案。与传统的计算机书籍不一样,本书并没有重点介绍基本概念,而是着重展示如何应用学到的知识来解决实际的业务需求。本书可能并不适合初学者,如果您对网站开发的基本概念和ASP.NET(任何版本的ASP.NET)已经有所了解,并已经实践过,而且您想学习ASP.NET 2.0中的新知识,那么我们开始吧!  1.1 提出问题  在博洛尼亚(意大利的一个城市)有将近一半的人口是学生,包括许多留学生。由于年轻人很多,所以这里有很多酒吧和娱乐场所,能够让他们在晚上和周末一起出来活动。音乐会、聚会、表演秀等活动经常举办。为了具有竞争力,每个酒吧必须找到一些其他酒吧所没有的、能够吸引潜在顾客的特色。要有竞争力,营销也非常重要,我们的一个客户希望在这一方面做得更强。该客户原来一直使用传统印刷广告来宣传她的酒吧TheBeerHouse(一个虚构名字),但现在想尝试新的媒体方式——创建一个令人兴奋的网站。她认为这很有用,因为顾客一旦熟悉了她的网站就可以去那里看最新活动的报道;通过邮箱接收新闻邮件;可以浏览过去活动的照片,对它们进行排名;还能同网站的其他访问者分享信息、建立联系,而且日后他们还能在酒吧里当面进行交流。建立网站的目的就是吸引顾客,尤其是使目标顾客习惯于通过网站来获得新闻和活动的信息。酒吧是典型的娱乐场所,拥有很多顾客,它可能要比传统的酒店更需要这样的网站。  1.2 设计方案  每章的“设计方案”部分对该章提出的问题进行讨论,然后设计解决方案。这意味着需要记录一系列业务需求、项目需要实现的功能、用于数据存储的必要数据库对象的设计,以及用于获取数据、处理数据和向用户展示数据的类的结构。在项目的开始阶段要考虑用户有何需求,以及怎样来处理这些需求,在时间和预算允许的条件下尽量扩展需求,使用户能在此基础上获得更多的功能。正如“提出问题”部分所述,在本书场景中,我们的客户拥有一个酒吧,她希望建立一个网站来推广她的酒吧,该网站上将提供最新活动的预告信息、已结束活动的报道等。有很多方法可以对这些设想进行扩展,这样就可以创建一个内容丰富的网站,这对酒吧主人和顾客(也可以是潜在顾客)都有好处。项目开始时,我们先列出了当今基于内容的网站所应具有的功能:  ?一个吸引人的用户界面。外观很重要,因为用户首先会注意界面,然后才关注网站的功能和服务。但用户界面不能完全靠图片解决问题,应当合理地组织网站上的信息,使用户可以方便地获得所需的信息。网站应当符合用户的使用习惯,即用户可以很方便地浏览,方便地进行交互。要注意跨浏览器的兼容性,例如:要保证网站在不同的平台上和浏览器中都可以正常显示和操作。如果无法预知用户会使用何种浏览器来访问网站,那么这尤为重要。  ?一个成功的内容网站会在它的用户中有很好的声望。忠诚的用户会经常访问网站来发帖子、参加投票或其他活动,正是他们才使得网站保持增长。要为这些积极的会员创建一个有活力的社区,需要把他们同其他普通会员区别开来。因此,网站需要一个注册功能,作为身份认证的一个基础部分,该功能也将用于授权以及限制访问网站中的某些页面。  ?网站需要不断更新以保持活力,如果内容一成不变,那么访问者就会对该网站失去兴趣而不再访问了。一个酒吧的网站应当定期更新活动、聚会和音乐会的预告信息,否则网站不会成功。试想用户在浏览网站时看不到上次聚会时拍的照片会有何反应?要实现内容的不断更新,就需要一些方法,能让网站编辑人员方便地更新动态内容。而且,负责网站内容更新的编辑人员很可能不是技术人员,因此应当创建一些简单的管理页面,这样非技术人员也可以通过这些页面方便地对网站进行内容更新。  ?当网站上有了新内容之后,网站管理员应当想办法来提醒用户。并非所有的用户每天都访问该网站,因此管理员应当主动提示用户有关近期的更新。如果用户已经在网站注册过,并提供了Email地址,那么也可以通过邮件使他们获得网站的更新以及其他内容。当然,还有很多其他的方法能够提供这些信息,例如:提供真正简单的整合(Really Simple Syndication,RSS),这样,用户注册后就可以使用RSS阅读器自动获得新闻通知,无需每天访问网站来获得信息了。  ?像这样的网站最适合进行一些顾客问卷调查。例如:顾客在酒吧中最喜欢什么?他们喜欢什么牌子的啤酒?与朋友一起喝酒时是否想听音乐或是否觉得酒吧太过于吵闹等。建立一些用户与网站之间的沟通是很重要的,如果能得到相当数量的反馈信息,那么这些信息将引导管理者做出正确的战略决策和改变,从而提高经营状况。  ?如果说用户与网站之间的沟通是很重要的话,那么用户与用户之间的交流则更加重要,这是为用户建立社区的主要目的。他们经常访问网站进行聊天,并讨论网 站上的新闻,针对即将举行的活动向其他用户咨询建议。这些都能为网站带来更多的访问量,让网站无论在短期还是在长期运营中都能获得回报。  ?商店有了一定顾客基础以后,店主就可以对它进行扩展来实现在线销售。事实上,酒吧已经为啤酒爱好者提供了一系列商品,像杯子、T恤、钥匙链等。网站的访问量高了,也是提高商品销售的一个好办法,因为顾客可以不用到酒吧就能购买这些商品。如果用户看到自己喜欢的商品可以对它进行投票排名,从而让其他用户知道自己对该商品的感受。在线商店应当能够方便地由非技术人员进行管理,因为很可能是该酒吧主人亲自添加、修改商品信息和进行定单管理的。因此,网站应有一个操作简单明了的用户界面,它能够自动完成尽量多的操作,并且引导用户在整个过程中进行操作。  ?由于网站上提供新闻、文章、商品列表、用户讨论等动态内容,因此可以想象网站主页会变得很拥挤。太多的信息可能会造成阅读困难,引起误解。如果访问者能够根据自己的爱好亲自构建属于自己的主页那就再好不过了。他可能想看活动预告而不关心在线商店,很好!我们将为他提供这样的功能,他可以在自己的主页上对内容进行添加和删除,也可以将内容进行移动,使内容重新排列,这样浏览者阅读起来会更舒服并且容易获得有用的信息。许多大型网站都提供了这种自定义功能,像Windows Live及My MSN都是非常好的示例,自定义功能能够帮助网站吸引更多的用户进行注册。  ?前面已经提到,酒吧的客人会来自很多不同的国家,我们希望不同国家的人所访问到的网站是一致的,因此,网站应当全部或者部分地翻译成多种语言,让大部分用户都能容易理解。不仅文本需要翻译,像日期格式和数字格式这样的信息也应当根据用户的本地设置进行显示,这样就不会有人把即将举行的聚会或者活动的时间看错。  综上所述,TheBeerHouse网站将拥有当今内容网站的全部功能,包括动态文章和新闻、问卷调查、论坛、邮件列表、RSS、在线购物、个性化主页以及内容本地化。通过构建示例网站,可以学习构建当今大多数内容网站和商务网站所包含的主要功能,在将来开发网站时会用到它们。  1.3 解决方案  每章的“解决方案”部分包含了设计步骤和实际代码,用于实现前面两个部分中所提出的功能、需求以及设计。下面概述以后各章所要讲述的内容。  在第2章中,将实现网站的设计、图形,以及布局。通过使用Master Page——ASP.NET2.0中的一个新功能,能够让布局在网站的所有页面之间共享。还可以使用“主题”——ASENET 2.0的另外一个新功能,为Master Page创建一系列不同的外观。这样就可以创建一种机制使访问者可以从下拉列表中选择自己喜欢的主题,根据自己的喜好来改变网站的色彩和外观,甚至能够避免视觉障碍。最后通过新的web.sitemap文件以及Menu和SiteMapPath控件来创建一个灵活且易于维护的导航系统。  第3章将为构建一个灵活的、容易配置的功能网站打基础。首先,需要一个插入式的数据访问层(Data Access Layer,DAL),DAL可以支持任何类型的数据存储,有良好的扩展性,在高使用量中有很好的表现。然后在DAL的上面构建一个业务逻辑层,使得数据以面向对象的方式展示。逻辑层还包含了所必需的验证逻辑、事务管理、事件曰志以及高速缓存。最后,介绍用户界面(UI)和表示层,它们利用新的GridView、DetailsView和FormView控件,并结合ObjectDataSource可以快速生成功能强大且由数据驱动的复杂页面。  在第4章中,将把ASP.NET 2.0中新的成员功能整合到网站中,以生成用户注册表单,并且支持用户的身份验证和授权。本章将介绍新的Profile模块,它允许定义用户级别的属性,该属性的值可以持久保存。这与传统的Session状态变量有很大的区别,Session状态变量只存在于用户浏览网站期间。我们将要构建一个完整的管理模块,它允许管理员查看成员列表,限制那些在网站上有恶劣行为的成员,查看和编辑每个用户的详细资料。  在第5章中,将构建一种内容管理系统,这个模块为管理员提供了一个直观的界面来管理网站中的文章,非技术用户也可以使用它。该模块内置了一个成员系统来确保模块只对有权限的人员开放,并跟踪文章作者的最新动态。该模块可以对全部分类或指定分类中的新内容进行汇集而发布一个RSS源,同时还支持排名和评论等其他许多功能。这些功能很强大,网站编辑人员只要事先准备好格式丰富的内容,并且设置好内容自动发布和删除的时间,网站就会自动完成更新,这样网站的更新就变得非常简单,只需要很少的操作和时间。本章最后将描述新的GridView、DetailsView和ObjectDataSource控件,通过使用这些控件,可以将面向对象业务类中的数据同用户界面进行绑定,业务类所包含的数据来自数据访问层。  在第6章中,将讨论如何在网站上创建和管理调查问卷。此模块提供了一个管理控制台,用于通过Web浏览器来管理投票。还提供了一个用户控件,只需要几行代码就可以把一个调查问卷插入到任何页面中,同时还包括了一个历史页面,可以在该页面上查看所有的历史投票记录。  在第7章中,将为网站增加一个完整的邮件列表模块,用于向那些注册了详细个人资料的用户发送新闻邮件。邮件是通过后台线程发送的,没有使用处理页面请求的主线程,这样页面不会产生超时,更重要的是,网站编辑人员不会碰到那种好几分钟看到的都是空白页面的情况。使用异步JavaScript及XML编程技术(Asynchronous JavaScript and XMLProgramming,AJAX)可以实现页面部分更新,提供新闻的实时更新。用户能够在一个归档页面中看到过去的新闻邮件列表。要实现所有这些功能,需要使用一些ASENET 2.0的高级功能,例如多线程编程、新的脚本回调功能以及新的邮件发送类。  在第8章中,将创建一个论坛系统,该系统支持多个子论坛,有合适的可选项,可以对主题和回复进行分页列表显示,可以用不同方式进行排序,并且支持标准RSS,可以配置用户排名,支持签名档、引用以及当今大多数论坛的主要功能。该论坛系统还提供了完整的管理功能(删除、编辑、批准、移动、关闭主题和帖子)。  在第9章中,将为网站添加一个在线商店。它具有在线商店所必要的功能,包括完整的商品分类和定单管理系统、购物车、使用信用卡在线支付的功能、商品排名、商品库存状态、使用文本和图片对商品进行描述、配置送货方式、查看定单状态等。

编辑推荐

  這本Amazon五星級暢銷書自第1版出版以來就受到廣大讀者和網友的高度評價,國內幾乎所有相關專業的網站都在推薦該書並提供相關英文資料的下載。《ASP.NET 2.0網站開發全程解析(第2版)》全面介紹了利用C#開發ASP.NET2.0網站的完整過程,每章都自成一體,首先提出問題,然後討論解決問題時具體要考慮的方方面面,並構建一個解決方案,最後給出實現該解決方案,最後給出實現該解決方案的實踐。書中的示例網站TheBeerHouse使用ASP.NET2.0重新編寫,包含了很多主流內容網站和電子商務網站所擁有的功能,可幫助讀者切實掌握ASP.NET的Web開發方法。  《ASP.NET 2.0網站開發全程解析(第2版)》主要面向具有ASP.NET1.x開發經驗的編程人員,但不要求讀者了解ASP.NET2.0。

图书封面




    ASP.NET 2.0網站開發全程解析下載



用户评论 (总计0条)

 
 

 

計算機與互聯網 PDF免费下载,編程語言與程序設計PDF免费下载。 计算机教程网 

计算机教程网 @ 2017