欢迎来到.net学习网

欢迎联系站长一起更新本网站!QQ:879621940

您当前所在位置:首页 » ASP.NET2.0入门经典(第4版) » 正文

ASP.NET 2.0入门经典(第4版)-前言与概述

创建时间:2012年04月07日 21:10  阅读次数:(5475)
分享到:
    20世纪后期计算机领域发生了空前的变化。对于那些以前只在卧室打转的人或终日不见阳光的瘾君子而言,Internet的急速发展给他们带来了前所未有的乐趣。在20世纪90年代之前,承认自己用计算机处理工作几乎是一件令人尴尬的事情,然而突然之间人人都希望能拥有一台计算机。每种业务都争先恐后地和Internet扯上关系,而且很多家庭都希望拥有自己的Web站点。如果一定要为Internet的急速发展寻找一个技术代名词,那么这项技术非Web浏览器莫属。但是,如果没有可以查看的内容,浏览器就变得一点实用价值都没有了。用户需要信息,而Web站点就像雨后春笋一样蓬勃发展,其主题丰富多彩,包罗万象。

    20世纪90年代末期,世界充满剧变。一些商业帝国的根基就是一个最简单的想法——搜索引擎(Google)或者在线书店(Amazon)。人人都想知道怎样给自己建一个Web站点。HTML(HyperTextMarkupLanguage,超文本标记语言)可以实现人们的这个愿望,但很快人们就发现它的功能太简单了。开发人员可以显示图片和文本,但如果您想要的不止这些,那么应该怎么办?如果希望站点具有反应能力,也就是说能从用户接收信息并自动进行更新而不需要开发人员每次都编写新的页面,应该怎么办?如果希望将某个数据库连接到Internet上,或者希望显示一个股票目录,或者希望向每个访问站点的用户提供个性化的设置,或者只是希望向每个访问站点的家人或朋友提供漂亮的外观,又该怎么办?

    这方面的竞争一直在继续,人们已经开发出好几种技术,包括CGI、PHP和Java。Microsoft参与这项竞争的技术是ASP,它最引人注目的特点是比其他同类技术简单,容易入门。但是它也有很多让人激动的功能——当用户在Web站点内的页面之间浏览时可以保存用户的详细信息以及Calendar和Rotator等控件,可以把这些控件直接放置到页面中,就像使用HTML标记一样。ASP获得了巨大的成功。Microsoft做了进一步的开发;它创建了.NETFramework,而ASP.NET则成为ASP技术的“升级”版本,使用的是其成熟的编程语言VB.NET和C#。这个变化在功能方面是一个很大的进步,但是Microsoft在一定程度上迷失了一个很重要的目标——简单性。Web站点的开发突然之间需要高昂的咨询费用,同时需要顶尖的美工人员。对于那些一开始缔造站点繁荣的人而言,它已变得高不可攀。

    ASP.NET2.0在这个方面向正确的方向回退了一大步。Microsoft意识到,人们在开发Web站点的时候不喜欢做的一件事就是编写代码。代码很枯燥且令人讨厌。然而,Microsoft也意识到有相当一部分人仍然靠编写代码为生。而且,这些编程人员不得不开发同样的功能,并一再重复。登录机制、菜单系统、购物车、用于站点中所有页面的站点标题——这些是很多Web站点都需要的功能。此时两个指导原则要发挥作用:简化它们对新手的使用难度,并减少开发人员必须重复的工作量。ASP.NET2.0声称可以“减少70%的代码”;ASP.NET2.0还带有很多控件,这些控件使得开发人员在数分钟之内就可以创建登录系统和菜单。

    2003年下半年的时候,我们已经看到过名为ASP.NET2.0的新版ActiveServerPages。每个人都知道这些声明决不是刻意夸大,开发人员创建Web应用程序的方法将从根本上发生变化。Microsoft扩充了ASP以前版本的强大功能,同时在很大程度上减少了实现这些功能所需的工作。实现的简化意味着开发复杂站点的费用将缩减。或者,换一种说法,现在能够开发复杂站点的开发人员将大大增加。
    另外,ASP.NET2.0还附带了一个新的、不算昂贵的开发工具用于创建Web站点:VisualWebDeveloperExpress。Microsoft以前开发的用于辅助创建Web站点的工具要么已经销声匿迹(FrontPage),要么从来没有得以普及(VisualInterdev),但这次开发的工具找准了方向。VisualWebDeveloper将成为VisualStudio.NET套件的一部分,但名为VisualWebDeveloperExpress受限版本的售价并不昂贵。利用它您可以在数分钟之内通过拖放控件创建一个站点,开发人员也能立刻识别出来,并简化页面的创建和管理。

    本书将逐步引导您使用ASP.NET2.0创建动态的、数据驱动的、复杂的Web站点。在本章结束时,我们将解释一些基本的想法并介绍一个完整的示例站点。然后将学习怎样使用VisualWebDeveloperExpress(VWD)构建ASP.NET2.0站点。
    具体地说,本章包含以下5个主题:
    ●简单介绍ASP.NET2.0
    ●回顾ASP.NET2.0解决的Internet编程问题
    ●解释ASP.NET2.0是怎样适应其他技术的
    ●浏览一个由ASP.NET2.0构建的站点的动态功能
    ●理解创建ASP.NET2.0页面(ASPX)将要使用的工具——VisualWebDeveloperExpress(VWD)

    在以前的书籍中,如果在学习本章之后您能够创建简单的页面,那么我们的目的就算达到了,但ASP.NET2.0鼓励学习更多的内容,在第2章结束的时候,您将知道一个正在运行的Web站点的结构和架构。本书的主要练习是为一个名为WroxUnited的足球队创建Web站点,显示他们的新闻和比赛结果、出售他们的产品、拍摄他们的记录片,并根据登录的用户是客户还是管理员来显示不同的页面。作为惯例,我们将提供一些练习帮助复习本章中讨论的概念。

1.1将要创建的站点
    打开www.wroxunited.net查看一下站点(主页如图1-1所示)。这个站点完全使用ASP.NET2.0创建,也是在本书中将要创建的站点。同时,它也是在本章和第2章中将要学习创建的一个微型工作模型。
    
    图1-1

    在主页上可以看到一个菜单系统、一个登录控件和一些新闻条目——如果使用旧版的ASP或ASP.NET,创建这些功能都将耗费开发人员大量的时间并编写很多代码。以登录机制为例,开发人员必须考虑接受用户ID和口令、根据一组已经存在的用户和口令进行核对、确保口令不会以任何方式弄错并确保口令的传送安全可靠。因此,开发人员需要进行很多相对而言不那么重要的工作,没有一两个小时是不能完成这个功能的。现在,这只需要几秒钟的时间。

    单击ViewPageSource链接——现在不理解这些代码并不要紧——用户将看到少于10行的ASP.NET2.0代码:
<%@PageLanguage="VB"Trace="false"MasterPageFile="~/site.master"
AutoEventWireup=”false”codefile="Default.aspx.vb"Inherits="_Default"% >
<%@RegisterTagPrefix="wu"TagName="News"Src="News.ascx"% >    
<asp:ContentID="Content1"ContentPlaceHolderID="mainContent"Runat="server" >    
<h2 >WelcometotheWroxUnitedWebsite.</h2 >
<p >We'reagreatfootballteam.Noreally,weare.Don'ttakeanynotice ofourpastperformance.We'rejustunlucky.</p >    
<wu:newsid="News1"runat="server"ItemsToShow="5" ></wu:news >    
</asp:Content >

    逐个单击菜单中的不同链接,看看比赛成绩表和固定列表是怎样工作的,同时看代码只有廖廖数行。请注意站点的主题和样式是如何保持一致的,但是现在无法知道这一点是如何实现的。欢迎来到ASP.NET2.0的世界。从现在开始,它将彻底改变您创建Web站点的方式。稍后您将更详细地了解到隐藏在WroxUnited应用程序后面的功能,但首先介绍ASP.NET2.0提供了哪些功能。

    Internet上的WorldWideWeb(WWW)提供了广阔的互联性。实际上每个使用计算机的人都能够访问网络。但这种随处可见的连接却少有标准可遵循。信息以ASCII字符的形式传递,没有内置的机制实现到机器层代码转换的功能。客户的需求非常少——事实上Internet本身并没有任何标准规定浏览器该怎样工作,因此计算机领域同时存在着为不同的操作系统和平台编写的多种浏览器。在2005年,我们很容易忘记Internet是设计用于传递带有图片和链接的静态文本页面的。

    近15年来Internet编程的发展可以说是这样的一个过程:在不违反设计页面时追求最大简单性的WWW原则的同时,努力向用户提供高级的、复杂的功能。用户希望使用页面的感觉就像使用文字处理和数据库访问等桌面应用程序那样。但这样的复杂程度在最小化配置的情况下要在Web上实现是很困难的。

    ASP.NET2.0从根本上减少了开发复杂Web站点的困难。Microsoft的ASP.NET开发小组考察了大量的页面、站点和场景,并在此基础上创建了一组站点所有者的常见目标。这个列表中包含了大约20个目标,包括读取数据、统一的登录和身份验证过程、一致的站点外观以及不同浏览器平台的页面定制。开发小组于是着手编写代码以正确的方法实现这些目标,从而最大限度地减少开发人员的工作量并由Microsoft对代码进行广泛的测试。这些功能包含在ASP.NET2.0的类(封装好的可供使用的代码集)中。结果非常简单——开发人员只需将Microsoft在ASP.NET2.0中开发的组件装配到一起,就可以非常迅速地组合出(而且很容易地维护)一个复杂的站点。开发人员现在只需简单地将一个控件拖放到页面上并在向导中回答一些问题就可以了,而不需要编写数十行的代码(就像在旧版的ASP中所做的那样)。这个控件将为页面产生一些代码,服务器将使用这些代码创建页面的HTML代码,并随后将这些代码发送到浏览器。由于发送到浏览器的是HTML代码,因此除了能显示HTML和执行一些简单的JavaScript脚本之外,并不要求浏览器有什么特殊的功能。任何可以显示HTML代码的浏览器都可以显示ASP.NET2.0页面。这不仅包括桌面浏览器,还包括PDA、手机和其他设备。

    因为在浏览器获取页面之前这些控件的所有代码都运行在服务器上,所以把这些控件称为服务器端控件。本书后面将讨论某些服务器端控件的功能。

    Microsoft对使用旧版的ASP创建的站点进行调查,并据此提出了一组由站点程序员实现的常见目标。有些目标实现起来很容易,但是很耗费时间,而其他目标除了对最高级的开发人员以外都过于复杂。总体而言,程序员的解决方案有的非常出色,有的根本就不正确。调查到的有些解决方案不仅非常糟糕,而且开发它们还浪费了大量的时间,因为成百上千的程序员都耗费大量的时间计划、编写和测试完成同样功能的代码。本节将介绍11个目标,ASP.NET2.0针对这些目标都提供了内置的解决方案。在第3章和其他章节将看到,这些解决方案都是以服务器端控件的形式提供的,这些控件包含了执行各种设置和操作的相应代码。只需把某个控件放置到页面上,设计人员就可以获得以前必须手工编写代码才能获得的功能。
来源:
说明:所有来源为 .net学习网的文章均为原创,如有转载,请在转载处标注本页地址,谢谢!
【编辑:Wyf】

打赏

取消

感谢您的支持,我会做的更好!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

最新评论

共有评论0条
  • 暂无任何评论,请留下您对本文章的看法,共同参入讨论!
发表评论:
留言人:
内  容:
请输入问题 76+91=? 的结果(结果是:167)
结  果: