欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

c#结构 ASP.NET

程序员文章站 2022-03-09 10:45:48
...

ASP与ASP.NET的区别

(1)asp和asp。net的区别

1)效率

ASP是一个脚本编程环境,中能用VBScript或者JavaScript这样的非模块化语言来进行编写,当ASP程序完成以后,在每次执行的时候都要经行解释执行,那这样的话你说慢不慢,就像每次你吃饭直接直接叫外卖,而ASP.NET就像你的舍友就是厨子,直接给你做了,或者说饿极了,舍友做了一次,就有个聚宝盆,做一次,投进去就有无限,这样就不用每次做了,这就是编译性语言的妙处,不需要下单了,而解释性语言就是你还要去下单解释说我的地址在哪,我要这个辣不辣……所以说呢
在使用其他语言编写的大量组建时候会遇到困难,并且无法实现对操作系统的底层操作。由于是解释执行,,所以速度和效率会远远低于编译执行的程序,而ASP.N则是建立在.NET Framework之上的,他可以使用visual Basic、C++这样的模块化程序设计语言,并且在第一次执行的时候就进行了编译。之后的执行不需要重新编译就可以运行,,因此,在速度和效率上来看,ASP.NET高于ASP。

2)可读性

在写ASP应用程序的时候,ASP代码和HTML混合在一起。只要有需要,就可以在任意的一个位置插入一段代码来实现特定的功能。这种方法表面上看起来很方便,但在实际的工作中会产生大量繁琐的页面,很难读懂,导致代码维护很困难。虽然可以使用include指令尽量让程序模块化,但是仍然不是一个最终彻底的解决方案。而ASP.NET则可以实现代码和内容的完全分离,这样就使得前面提到的问题迎刃而解。

(3) 可重用性

在书写ASP编写代码的时候,ASP代码和HTML代码混合在了一块,只要有需要,就可以在任意的一个位置插入一块代码来实现特定的功能。这种方法表面上看起来很方便,但是在实际的工作中会产生大量的繁琐的界面,很难读懂,导致代码维护困难。虽然可以用那个include指令尽量让程序分模块、层次实现模块化,但是仍然终究不是一个最终彻底解决的问题,而这时爸爸来了,他说我可以试试,然后真的实现了代码和内容的完全分离,你说赞不赞。

(4) 代码量

ASP需要对实现的功能通过编码来实现。打个比方,所有的ASP程序都遇到过这样的问题:为了保证一个用户数据提交界面的友好性,当用户输入错误的时候,就会显示错误的位置,并尽量把用户原来输入的在控件中显示出来。这样的一个应用需要程序员编写大量的代码实现,尽管只是一个非常简单的功能,但是其他的应用程序中根本不需要编写那么多的代码就能实现。在ASP.NET中,程序员会发现只要先做好预先说明,这样的功能ASP.NET就会自动实现。所以相对来说,要实现同样的功能,使用ASP.NET比使用ASP代码要少。

5)服务器处理方面

对于asp来说,所有的函数都位于整个界面也就说简单的定义了一个大函数,这个大函数开头位于界面开头,结尾位于页面结尾 ,这样不论是纯HTML界面还是ASP生成的HTML界面,页面的每一个东西都有着自己固定的位置,按照页面顺序显示,那么逻辑代码依赖于页面中的位置,而且简单的HTML或者ASP生成的网页无法将各种控件作为目标,除非是以流的形式,我们所做的任何部分都要书写代码,包括HTML元素的输出。
那么,好东西来了

ASP.ner解决的问题就是以控件的形式引入声明,就不用传输数据到服务端,而是直接声明的服务器控件, 把一个简单的HTML控件直接变为一个服务器空间,只需要将 添加runat=server 作为一个特性添加进去就可以咯。

例如·一个·简单的HTML的输入表格,只需要添加一个ranat=server 特性,那么就可以书写服务器代码就可以控制进行编程了。 增加了runat特性。例如,对一个输入框,如果置于一个窗体,并且将该窗体提交回同一个界面,就可以在服务期代码 加入以下代码:

Dim PersonFirstName As String
PersonFirstname = Firstname.text

那么控件在服务器运行,怎么去识别这一个个控件呢,这时候每个控件就需要一个自己的名字了,就是每一个控件的ID,比如我们可以称呼这个输入框为二狗,另外一个为臭蛋。
件在服务器上运行,将允许我们使用ID特性来直接识别它。这样代码就具有更高的可读性,原因在于不必引用窗体的内容或者将这些内容复制到变量中。同时直接引用控件也就更加自然了,从而使页面的开发更加简单。

(2)ASP.NET的优点


** winform 控件 **
将现有的HTML控件转化为服务器控件是比较容易的,不过这种方法仍然存在几个问题:

1)将现有的HTML控件转换为服务器端的控件是比较容易的,不过这种方法仍然存在几个问题:

  • 一致性:我们仍然不得不接受一些HTML控件分非常不直观的固有特征。例如:有米有一种inout标记符用于单行文本,?有没有一个textarea标识符用来多行文本项目?指定行和列的但个控件真的有意义吗?
  • 用户经验: 如何轻松地编写枕垫,向诸如IE这样的浏览器传送丰富的内容,同事保留对于低级别浏览器的兼容呢?HTML是无法根绝浏览器改变内容的,而要达到这个目的,必须要编写代码。
  • 设备 : 如何编写站点来应付除浏览器以外的其他设备呢?如今向WAP手机、甚至电冰箱、PDA这样都有浏览器、与浏览器问题一样,都必须为其手工编写代码。

为了解决这个问题,微软公司创建了一组服务器控件,他们都用asp:前缀标识。
老HTML的大佬孙子就诞生了!ASP.NET服务器控件通过以下方式来解决上述问题:

  • 提供一致的命名标准。例如:所有的文本输入栏都由TextBox控件处理。对于不同的模式(譬如当行文本框、密码框),只需要指定相应的特性即可。

  • 提供一致的属性。所有的服务器控件使用一组一致的属性,这样更便于记忆、譬如:TextBox控件中的Text栏比Value栏更加直观。

  • 提供一致的事件模型。 传统的ASP页面通常有大量用于数据传送的代码,特别是当一个界面提供多行命令时候,就更是如此、而利用ASP.NET,我们就可以为事件过程封装控件,从而为服务器端代码提供更多的结构。

  • 发送纯HTML或者HTML与客户端JavaScript,通常一个小异常,服务器控件在默认状态下会发送HTML3.2,提供很高的跨浏览器兼容性。对其进行修改,使之在默认状态下指向像IE这样更高级的浏览器,这样控件就会发送HTML4.0和DHTML,提供更加丰富的界面。此时用户只能看到HTML内容,而看不到服务器控件。

  • 发送设备指定的代码: 当一个浏览器发出请求时,某个控件会发送HTML,而当WAP手机发出请求时,该控件就会发送WML,该控件还会检测设备并生成正确的标记。

相关标签: ASP ASP.NET