日期:2014-02-05  浏览次数:20591 次

  最近我在论坛上看到,许多人问关于使用DW开发asp.net出现的许多问题,如不能编译文件,Dw内含的服务器行为操作失误等等。如今我将如何使用开发工具写asp.net的一些问题说明一下:

  1. DW-MX开发asp.net使用程序。

  dw开发动态网页的方法是从UltraDev发展而来。原来dw4.0擅长的是开发静态的html网页,方法是直接在.html文件内添加HTML代码,正好asp也是直接在html内添加服务器端的操作代码(使用vbscript霍javascript言语),而asp所使用的对象(就是服务器端允许你操作的项目)不多,一共只要6大对象。如Request,Response,Server等。MM公司就把开发asp网页中经常使用的一些功用,如读取数据库,分页显示,用户登录等功用做成代码莫板。用户使用时可以用开发html的方法,直接通过命令添加这些曾经编写好的代码。这样,ud即可编写asp动态页面了,同样的道理,编写CF,JSP,PHP等,都是在html页面中加入服务器端代码,所以ud也可以编写这些网页。
MX升级了ud的功用,加入了可以用来开发asp.net的动态页面的功用,但是mx使用的是与开发asp页面相反的方法,直接在aspx文件中加入代码。

  2. ASP.Net的开发模式

  Asp.Net开发动态网页,与Asp完全不同。

  首先,asp是把服务器端代码写入html代码中,仅仅是文件扩展名为.asp。而asp.net完全不同。它的表示层(HTML代码)与业务层(后台代码)是完全分离的。即假设有一个asp.net文件aaa.aspx,这个文件仅存放表示代码HTML和asp.net公用的服务器控件代码,后台控制代码是存放在名为aaa.aspx.vb(使用Vb.net开发,如果是C#,文件为aaa.aspx.cs)的后台代码文件中。程序编写好当前,可以编译这个.vb文件,使之成为.dll文件,这样不但运转速度快,而且可以保护开发者的劳动成果。

  其次,asp是解释型的代码,就是在asp运转的时候,服务器临时把后台代码编译成可执行代码,然后再执行;而asp.net是在编写程序的时候,就把后台代码编译了,运转的时候没有编译这个过程,所以运转速度比asp网页快得多。

  再次,asp的开发言语是VBScript和javascript,他们都是解释型的脚本言语,言语本身的功用非常弱,除了一言语的基本功用如定义变量,判断,循环等,没有其他的功用。而asp.net使用的是功用完善的高级言语,这些言语全部有面向对象编程的能力,如方法重载,类的承继,接口,委托等功用。这些都是asp不具备的。

  再次,asp所使用的功用非常少,只要区区的六大对象可以使用。如Request,Response,Server,FSO等。而asp.net具有.Net类库的支持,只需类库支持的功用,asp.net都支持,如对流的支持,对Win2k的目录服务的支持,发送邮件,FTP,等等等等。功用非常强大。

  3. DW开发asp.net的缺点

  依据上面说的asp.net开发模式,大家可以看出Dw并不是一个开发asp.net的好工具。

  首先它不支持代码分离,他的开发模式还是处在asp的开发模式上,就是说它生成的asp.net不是编译的,这样的话,开发出的asp.net网页必须在运转的时候编译运转,运转速度还没有asp快。

  然后就是没有编译功用,dw不是为了开发asp.net用的,所以即便你手工实现了代码的分离,你必须在Dos方士下手工以命令的方式调用.Net SDK带的编译器来编译,这样如果你的代码中有错误,那么运转将失败,你必须修正代码重新编译。直到代码运转成功。如果有许多aspx及.vb文件,这样的任务将是非常非常麻烦的。

  最后,也是一个最重要的内容,DW没有调试功用。这个功用是编写程序时候最重要的,专门用来防止出现逻辑错误。这个错误是你编写的代码中没有语法错误,程序运转正常,但是程序就是不按照你所想象的运转的错误。

  假设你编写一个显示旧事的网页,在显示旧事中你规定了旧事的到期时间,保存在旧事数据表中的一个字段里面,这样,要排除过期的旧事,只需加上一个条件:目前时间小于到期时间。如下面Select语句:

Select * From NewsTable Where # NowDate # < NewsTable.StopDate

  但是如果在开发的时候,把代码中的“<”号写反了,写成了“>”号,这样,显示出的旧事条目全部都是过期旧事,这样就出现麻烦了。

  由于程序没有出错,没有任何出错信息表示,网页显示正常。你也不记得到底是什么地方除了毛病,是没有联接数据库?还是查询语句出错,还是显示有错误?你基本不知道哪里出了毛病。这时候就应该用到程序调试功用。

  程序调试功用最次要的作用就是:可以在代码中设置断点,使程序在运转到断点所在的代码中暂停执行,并保持形状。还可以单步运转程序,你点一下鼠标执行一行代码,同时,可以随时监视你定义的变量中的内容。

  如果有了这个功用,上面说的逻辑错误马上就能发现并改正。这个调试功用就是DW没有的。

  4. 用什么开发asp.net?

  答案:Microsoft Visual Studio.Net

  5. 好处

  完全支持asp.net开发。

  后台代码:Vs.net直接支持asp.net的后台代码,你不需求任何特殊的操作就可以直接输入后台代码。

  自动编译:你只需按一下鼠标,所有的代码文件将会打包成一个或几个(由你指定)的.dll文件。

  调试支持:目前最完善的asp.net调试器,可以调试后台代码,SqlServer的存储过程,javascript脚本,Html代码。可以自动监视所有的变量内容和类的调用。可以单步运转代码,可以逐过程运转代码。

  开发类型多:asp.net不只仅包括aspx窗体页面,而且包括类库,自定义服务器控件,Web服务等许多类型,这些类型DW是绝对无法开发的。而vs.net都可以开发。

  服务器功用支持:在Vs.net里面自动包含了Sql Server的企业管理器,可以直接建立SqlServer的数据库、表、存储过程、函数等所有的东西。甚至可以与Access数据库联系,建立表和查询等。不需求SqlServer自带的企业管理器了。所以开发Asp.net时候可以使用SqlServer的开发版,不需求标准版。这样大大降低了服务器的压力。

  完善的协助:asp.net毕竟是个新东西,开发的时候肯定要协助的支持。由于.net类库包括了成百上千的类及方法,你不可能把他们都记下来,所以开发时候如果不记得哪个类的哪个方法,那么Vs.net有完善的类库协助,可以随时察看。如果你对vb.net或C#的一个语句不明白可以查看他们的协助或者参考。如果你对怎样使用asp.net中的DataGrid控件有疑问。vs.net的协助中含有DataGrid的全部例子和参考。