c#结构 ASP.NET

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/qq_41622627/article/details/102724238

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,该控件还会检测设备并生成正确的标记。

猜你喜欢

转载自blog.csdn.net/qq_41622627/article/details/102724238