首 页 | 新 闻 | 技术中心 | 第二书店 | 《程序员》 | 《开发高手》 | 社 区 | 黄 页 | 人 才
移 动专 题SUNIBM微 软微 创精 华Donews人 邮
我的技术中心 
我的分类 我的文档
全部文章 发表文章
专栏管理 使用说明



 RSS 订阅 
最新文档列表
Windows/.NET
.NET  (rss)    
Visual C++  (rss)    
Delphi  (rss)    
Visual Basic  (rss)    
ASP  (rss)    
JavaScript  (rss)    
Java/Linux
Java  (rss)    
Perl  (rss)    
综合
其他开发语言  (rss)    
文件格式  (rss)    
企业开发
游戏开发  (rss)    
网站制作技术  (rss)    
数据库
数据库开发  (rss)    
软件工程
其他  (rss)    

积极原创作者 
wangchinaking (57)
yjz0065 (113)
coofucoo (105)
Drate (69)
lphpc (30)
smallnest (61)
iiprogram (64)
downmoon (32)
danny_xcz (49)
btbtd (81)
CSDN - 文档中心 - ASP 阅读:1816   评论: 0    参与评论
标题   ASP.NET与ASP的不同     选择自 great_domino 的 Blog
关键字   ASP.NET与ASP的不同
出处  
        关于ASP.Net到底是什么,恐怕大多数人的理解都不一样。那么ASP.Net和Asp有什么关系?让我们看下面这个例子,这段代码是用户注册信息模块提交按钮点击事件,作用是将用户提交的数据存入数据库中。

public void OnSubmit(Object sender , EventArgs e)
{
    if (Page.IsValid)
    {
    //数据入库
    try
    {
      BBSUser myUser = new BBSUser() ;
      if(!myUser.GetUser(txtUserName.Text))
      {
        myUser.CreateUser(BBSUser.CreateType.Create , txtUserName.Text , txtPassword.Text ,
                txtEmail.Text , txtHomepage.Text , "") ;
      }
         }
         catch(Exception exp)
         {
#if DEBUG
      Response.Write ("出现异常:" + exp.Message) ;
      return ;
#endif//DEBUG
      Server.Transfer("error.aspx") ;
         }
      }


  怎么样,是不是和你原来习惯使用的ASP有些区别呢?代码中你见不到数据入库,而全部封装到BBSUser类的CreateUser方法中,或许你会说ASP也行呀,做个函数或过程不就行了?是,的确如此,ASP.Net也可以直接把它做成一个过程然后来调用,但如果那样的话,那就真的只比ASP多一点点而已了。还是让我们从头说起吧。
  ASP.Net和ASP的最大区别在于编程思维的转换,而不仅仅在于功能的增强。ASP使用VBS/JS这样的脚本语言混合html来编程,而那些脚本语言属于弱类型、面向结构的编程语言,而非面向对象,这就明显产生以下几个问题:
  1、代码逻辑混乱,难于管理:由于ASP是脚本语言混合html编程,所以你很难看清代码的逻辑关系,并且随着程序的复杂性增加,使得代码的管理十分困难,甚至超出一个程序员所能达到的管理能力,从而造成出错或这样那样的问题。
  2、代码的可重用性差:由于是面向结构的编程方式,并且混合html,所以可能页面原型修改一点,整个程序都需要修改,更别提代码重用了。
  3、弱类型造成潜在的出错可能:尽管弱数据类型的编程语言使用起来回方便一些,但相对于它所造成的出错几率是远远得不偿失的。  
  以上是语言本身的弱点,在功能方面ASP同样存在问题,第一是功能太弱,一些底层操作只能通过组件来完成,在这点上是远远比不上PHP/JSP,其次就是缺乏完善的纠错/调试功能,这点上ASP/PHP/JSP差不多。那么,ASP.Net有哪些改进呢?
  ASP.Net摆脱了以前ASP使用脚本语言来编程的缺点,理论上可以使用任何编程语言包括C++ , VB , JS等等,当然,最合适的编程语言还是MS为.Net Frmaework专门推出的C(读c sharp),它可以看作是VC和Java的混合体吧,尽管MS自己讲C#内核中更多的象VC,但实际上我还是认为它和Java更象一些吧。首先它是面向对象的编程语言,而不是一种脚本,所以它具有面向对象编程语言的一切特性,比如封装性、继承性、多态性等等,这就解决了刚才谈到的ASP的那些弱点。封装性使得代码逻辑清晰,易于管理,并且应用到ASP.Net上就可以使业务逻辑和Html页面分离,这样无论页面原型如何改变,业务逻辑代码都不必做任何改动;继承性和多态性使得代码的可重用性大大提高,你可以通过继承已有的对象最大限度保护你以前的投资。并且C#和C++、Java一样提供了完善的调试/纠错体系。 
  对了,要说明一点,这个教程并不是ASP.Net的入门教程,我假设你对ASP.Net、C#和面向对象编程有一定的了解,如果不是这样的话,请先阅读有关文章或教程。


相关文章
对该文的评论