ASP.NET与ASP的不同

来源:网络整理 责任编辑:栏目编辑 发表时间:2013-07-01 11:34 点击:
 关于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#和面向对象编程有一定的了解,如果不是这样的话,请先阅读有关文章或教程。
    发表评论
    请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
    用户名: 验证码:点击我更换图片
    最新评论 更多>>

    推荐热点

    • 浅析.NET下XML数据访问新机制
    • asp.net 面试+笔试题目第1/2页
    • C# 邮件地址是否合法的验证
    • C#高级编程:数据库连接[1]
    • asp.net 设置GridView的选中行的实现代码
    • 经典C++程序1
    • IIS 自动回收导致后台定时器失效的问题解决
    • ASP.NET GridView列表代码示例
    • 微软ASP.NET站点部署指南(3):使用Web.Config文件的Transforma
    网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
    Copyright © 2008-2015 计算机技术学习交流网. 版权所有

    豫ICP备11007008号-1