用DW MX打造基于ACCESS的ASP.NET留言本
第一章 ASP.NET简介(谈谈我的见解)
近来不断地有网友要求写一篇ASP.NET方面的教程,故此抽时间出了这部用DW MX打造ASP.NET留言本的教程,功能不是很强,但是初学者或具有一定的DW-MX ASP程序开发经验者入门课程。我不敢保证你仅仅是读了本教程,并且按照教程方法做出自己的ASP.NET留言本,就能登入ASP.NET的“大门”了。本文只是指导性地介绍如何在DW MX开发环境下开发一个较为实用的留言本,对相对较为复杂的代码不作详细讲解了。本教程的步骤性强,即是说,如果漏了教程中介绍的某一个步骤,可能会导致你的制作失败!
为何要学习ASP.NET?
ASP.NET是微软主推的新技术,是微软“来势凶凶 ”的.net战略中的一部分。ASP.NET是运行于windews平台.net框架下的一种新型的功能强大的WEB编程语言,一经推出就备受关注。发展至今,ASP.NET经过几年的改进和优化,已续渐成为成熟、稳定的能与JSP对抗的一种WEB编程语言。传统的ASP由于被束缚于弱类型的脚本语言功能限制,导致ASP难以应用在中大型系统中。ASP也存在安全性的问题,IIS的漏洞曾令许多中小型ASP网站受到骇客攻击而溃,泄露一些重要资料。而且,由于ASP是“面条式”的程序,所有ASP程序都是混杂在HTML周围,当ASP页面程序越来越复杂的时候,ASP代码被分割得七零八碎,使代码变得难于管理,甚至超出了一个程序员的管理能力。有时候,即使是你自己写出来的代码,过一些时间再看,也可能会看得非常吃力了。好了,ASP.NET问世后,把程序员从ASP的这种困境中拯救出来,一经推出,就广受程序员欢迎,并纷纷投入ASP.NET的环抱中,揪起.net学习热潮。其强大的功能,高系数的安全性,快捷的处理速率,条理清晰的类后代码以及许许多多的集成功能,令ASP程序员叹为观止,以前在ASP中难以实现的功能在ASP.NET变得如此较松,怎能不令人激动呢?ASP.NET是一个十分复杂的主题,即使一本多达600多页的专业书籍,对它的介绍也只是冰山一角。有关于ASP.NET的优点的话题在网上多的是,你去找找看,决定你学习ASP.NET的信心。
ASP初学者的困惑
常常听到初学ASP的朋友抱怨,怎么才开始学ASP,却又要弃它而学ASP.NET了?究竟学那一种好啊?
ASP.NET已经由不再是传统的ASP普通升级了,而是从头到尾地被彻底改写,表现为ASP程序员转向ASP.NET时,于编程思维上的巨大转变。ASP用的是JavaScript、VBScript这种脚本,是解释型的语言,严格来说,ASP只是一个开发环境,而不是真正意义上的编程语言。而ASP.NET采用了C#、VB.NET、JScript(这是微软经过改进可用于ASP.NET编程的高级语言,不是JavaScript)等高级语言编写,在功能上更加强大,不仅是WEB页面的处理上,也深入到系统底层中(例如访问windows注册表,缓存管理、事件日志等)。目前网络上的资料介绍多数是用C#和VB.NET,而JScript则很少。ASP.NET更接近windows应用程序,是一种面向对象的编译型程序,所有一切执行机理都是面向控制“对象”而作的。所以,ASP.NET中引入了一个“控件”的概念,必要的HTML网页代码由WEB控件在服务器端控制生成,而不是ASP中的“代码块”控制了。WEB控件的动态属性在后代码类文件中控制,固定的HTLM部分可以用纯HTML标签,或HTML服务器控件(普通HTML标签中加入runat="server" 属性,使其成为一个服务器控件,在服务器端执行,这样可以更有效地提高编译效率,使程序执行速度更快)。ASP.NET页面第一次被请求后,被编译成一个类文件,以后就直接执行这个类文件,从而速度较ASP快2-3倍以上,特别是在站点访问量很大的时候,ASP.NET仍能表现得很好,而ASP可能就要处于“休克”状态了。
由于ASP.NET的功能强大,势必要用到了C#和VB.NET等这些高级语言,可能本文的读者都没有windows应用软件编程经验,也未曾学习过其它的诸如JAVA、C+等编程语言。所以要在相同的时间内掌握ASP.NET较ASP来得困难些。幸运的是,ASP.NET完全支持ASP语法,ASP的五大对象Request\Response\session\Application\server都被保留下来了,并且功能更有所扩展,其用法与ASP是类似的。 ASP.NET的默认语言是VB.NET,而我们以前学习的ASP用的脚本语言是VBScript,VBScript脚本是VB语言的子集,语法上也有许多类似之处,只不过VB.NET比VBScript在语法上要求更加严格,变量名一律要声明。同时,在ASP.NET/VB.NET(这里是指ASP.NET是用VB.NET语言编写的)中,支持了绝大多数的VBScript函数,一些ASP代码,直接移值到ASP.NET/VB.NET页面中,稍加少许的修改便能正常运行了,如果你有声明变量的习惯,甚至不用修改就能很好地工作。如果你对ASP语法较为熟悉,就能很轻松地编写ASP.NET/VB.NET代码实现ASP中的功能。如一些常用的判断语句、循环指令、函数定义和调用等。不过ASP.NET的已经不再支持“代码块”了,一些动态的HTML都由WEB服务器控件控制,通过Visible="False|True"属性来决定控件的显示和隐藏,从而实现在页面代码与应用程序分开。因此,你除了要学会VB.NET或C#的基本语法外,必须熟悉WEB控件的各项基本属性、行为和事件。但这些都不是很难,WEB控件大约有20个,不是很多,花几天时间练习这些控件的用法,一般都没问题了。当然不是叫你全部记忆这些控件的属性方法,你应该在本地机器上安Microsoft.NET框架和和Visual Studio .NET开发平台,通过简单的拖放控件,和属性面板来学习这些控件,那样你的学习效率要比手写纯代码高几倍。
必须注意,ASP.NET中不再支持代码块,所有动态的HTML代码都由WEB控件编程控制,这是由ASP转向ASP.NET时于编程思维上的一个重大转变。从而使主程序代码与页面代码(页面代码通常放置HTML、HTML控件和WEB控件,后缀名为“.aspx”,而主程序代码则放在另一个后缀名为“.vb”的类文件中),分离开来。说白了,一个ASP.NET应用程序其实是由两个文件.aspx和.vb构成的。这是其中之一页面与后代码分离的方法,还有的就是把所有一些相关的.VB类代码编译成后缀名为“.DLL”文件,称为“复用控件”,是把一些重用性高的用户自己开发的控件集成在一起一次编译而成.DLL文件,这个DLL文件是不能反编译回VB.NET或C#代码,从而可以很有效地保护代码,并且能用来开发商业控件。DW MX正是采用这种方法,所以你用DW MX开发ASP.NET应用时,在ASP.NET页面看到的是Macromedia公司自己的开发的用户控件的一些属性描述代码,而不是VB.NET或C#代码,这些代码已经集成编译在DreamweaverCtrls.dll文件中了,稍后做留言本时就讲到这个。当然,也可以把程序代码与页面代码放在同一个.aspx文件中,运行结果是一样的。
鉴于C#语法掌握较为困难,而VB.NET更接近VBScript,所以ASP程序员由ASP转向ASP.NET时,自然会选择VB.NET作为脚本语言,VB.NET是不同于VB.60及其以下版本,VB.NET较C#容易学习。所以本教程只要是以VB.NET为止。如果你选择的是C#,请不要向我请教任何有关的ASP.NET问题,恐怕你会失望。
ASP是纯粹的网页编程脚本,用ASP.NET实现了与ASP等同的功能,在此基础上你应该更深入地学习VB.NET或C#语法,以便能编写更高级的ASP.NET应用。ASP与ASP.NET可以同时运行互不扰,但不能共享会话。
为何要选用DW MX作为学习ASP.NET入门工具?
我曾经在书店看过一本介绍有关如何用DW MX设计ASP.NET应用程序的书,书名为《Dreamweaver MX互动圣经》,里面就介绍有用DW MX做留言本的例子,但不是很详细,而且书里的截图软件界面是英文的,不方便用简体中文版的DW MX对照书本学习,也介绍有一些VB.NET的基本语法,是ASP菜鸟入门的好书。
DW MX也提供了“不用手写代码”就能创建ASP.NET页面的功能,但是ASP.NET服务器行为功能不是很多,听说已有高手写出了一些相关的功能插件,可以扩展它的服务器行为,也许DW MX再向下几个版本改进后,对ASP.NET能提供完善些的支持。用DW MX开发一些常见的ASP.NET数据库读写页面是很有工作效率的,基本不用手写代码就能实现记录的插入、删除和更新了,而DataSet数据集更提供了DataGrid、DataList、Repeater数据显示控件,显示数据的方式十分灵活。因此用DW MX开发些数据读写应用是没有问题的,DW MX不能做到的功能,就用手写代码页面实现,但是这些对于ASP程序员来说,也不是太难。当然,你不用担心DW MX生成的页面是否会存在执行效率低的问题,所有的ASP.NET核心程序都已集在DreamweaverCtrls.dll文件中了。DreamweaverCtrls.dll是Macromedia公司开发的控件,他们连Dreamweaver MX这样的大型软件都能写得出来,还用担心他们编的DreamweaverCtrls.dll会比专业ASP.NET程序员开发的代码效率低吗?
我的建议
好了,看了上面一大堆有关ASP.NET的介绍,现在,你应该决定是否学习ASP.NET了。记住,当你选择要决定学习ASP.NET的时候,必须坚定这信心。别人能学得了,你也能行!
对于不同基础的读者,我建议:
如果你完全不懂网页编程,甚至不知什么叫做服务器脚本,那么你适宜选用DW MX从做静态页开始,然后由:
开始:起跑——》用DW MX做HTM静态页网站——》HTML标签语法深入学习(很重要)——》DW MX做ASP动态页——》ASP基本语法五大对象——》掌握VBSscript函数使用(在VB.NET中支持)——》用DW MX练习制作ASP.NET页面——》转向Visual Studio .NET开发平台和阅读相关的ASP.NET书籍——》然后深入学习ASP.NET和VB.NET或C#语言及其它相关网页语言如XML等——》