小魔女 发表于 2015-1-16 22:47:57

ASP.NET网页设计切磋ASP.NET 2.0的Web控件改善之概述

计算机发展到这个时候,很多技术日益成熟,想学好一种技术都是不容易的,当你学会用的时候你对它的很多原理可能很不了解)asp.net|web|控件  1、弁言

  到今朝为止,你大概已懂得了大批的ASP.NET2.0新特性-母版页面,主题,供应者,等等……一切如许内容都相称出色;可是,你是不是懂得到有关定制Web控件开辟方面的严重变更?这恰是我在本文中所想会商的。假如你已处置于控件开辟,那末,我想本文所形貌的ASP.NET2.0中的新的改善特性会当即使用于你的控件开辟中。

  起首应当注重的是,你之前利用ASP.NET1.1(或1.0)开辟的一切Web控件在2.0版本下将持续优秀运转-微软并没有损坏你的现有代码。在本文中,我将向你先容的一切相干内容,包含很多新的使人冲动的手艺,一切这些你都能够增加到现有控件或在新的控件情况中利用。

  【作者注】本文假定你对定制Web控件开辟已有一个基础懂得。在本文中,我以一个加强版本的EmailContact控件为例对ASP.NET2.0中的Web控件改善手艺作周全切磋。

  2、改善

  表格1形貌了ASP.NET2.0在定制Web控件开辟方面所作的年夜部分的严重改善。在本系列文章中,我将对这些特性睁开一一会商。

  表格1:ASP.NET2.0Web控件改善功效。

改善形貌新的基类ASP.NET2.0中又引进了一些新的基类供你派生本人的控件。前面,我重点先容一个控件-CompositeControl。ControlState这是我们所熟习的ViewState的"至亲"。现在,ControlState中已不再必要利用专门的办法举行形态办理;另外一方面,当控件用户在一个站点(或页面)上封闭形态办理机制时,有助于使你制止堕落。敏捷标签这是令Windows控件开辟者相称镇静的新功效!在本文中,我将向你展现怎样在你本人的定制控件中到场如许的功效。模板计划时候编纂在1.1版本中,要对控件模板增加计划时候编纂才能是相称坚苦的。幸亏,ASP.NET2.0使得增加这个功效相称简单。在本系列文章的最初一部分中我将会商这个成绩。主动格局化这也是一个伟大的改善!在利用DataGrid控件时你能够从一个预界说格局的列表当选择既定格局。ASP.NET2.0使得在你的自界说控件中到场这一功效也十分简单。Web资本这是我非常喜好的一个改善,由于我老是不时地开辟与图象有关的一些控件。在ASP.NET2.0中,如今你能够公布一个控件的DLL,并且不用再思索其余甚么内容。也就是说,如今,你可以把图象和别的资本嵌进到控件的DLL文件内。
  3、加强EmailContactWeb控件

  本文中的定制EmailContactWeb控件(参考)同意在你的站点中到场一个"contactus"表单,它具有完全的电子邮件功效。在本文中,我将利用该功效加强这一控件。



.缺省形态下的EmailContact控件

  4、一个新的基类

  之前,开辟者都是从WebControl类派生他们的可视化Web控件。我之以是在此利用了"可视化"一词是由于,典范情形上,没有在扫瞄器中天生任何内容的控件都是派生自Control类。这一点并没有改动-你应当持续利用该Control类来派生任何如许的非可视化控件-它们实行不成见功效或在扫瞄器中天生除可视化HTML内容以外的任何别的内容。并且,在开辟可视化Web控件时,你还应当持续利用WebControl类。但是,我们所开辟的年夜多半复合控件都是为了使用现有控件的功效。在这类情形下,你应当老是从WebControl类举行派生,可是你还要记着别的一些有关细节-不然的话,有大概招致很多成绩。

  复合控件必需完成INamingContainer接口,而且必要包含在你的控件类中。这个接口可以确保在你的控件及其能够天生的全部控件条理中的一切的HTML标签中都具有独一的标签定名。当你在单个页面上存在多个不异范例的复合控件的情形下,这是相称关头的。在如许的情形下,你必要确保任何天生的子元素都具有独一的称号。健忘完成该接口可以招致各类成绩的呈现。

  在ASP.NET2.0之前,复合控件开辟者还必要记着在一个控件的Render办法中挪用EnsureChildControls。在我之前的文章中已经向你先容怎样重载该Render办法而且在挪用基类的Render办法前挪用这个办法。要使控件在VisualStudio计划时候准确天生这一步是需要的;不然,有大概带来很多方便。

  下面两个步骤在复合控件开辟中云云广泛,乃至于很多开辟者常常城市构建一个包含这两个细节的基类,然后从该基类下派生他们一切的新的复合控件。作为取代,ASP.NET2.0供应了(更正确地说是"名字为")CompositeControl。借助于这个类来构建你的复合控件,你就不用再记着完成INamingContainer或从Render办法中实行一个EnsureChildControls挪用了。

  别的,还存在别的一些新的基类,比方用于数据绑定的控件等,在此不再赘述。如果需要重新编写代码,几乎任何一门计算机语言都可以跨平台了,还用得着Java嘛,而且像PHP/C#等语言不需要修改代码都可以跨Windows/Linux。

变相怪杰 发表于 2015-1-19 23:50:59

ASP.net的速度是ASP不能比拟的。ASP.net是编译语言,所以,当第一次加载的时候,它会把所有的程序进行编译(其中包括worker进程,还有对语法进行编译,形成一个程序集),当程序编译后,执行速度几乎为0。

小妖女 发表于 2015-1-28 15:57:17

ASP.net的速度是ASP不能比拟的。ASP.net是编译语言,所以,当第一次加载的时候,它会把所有的程序进行编译(其中包括worker进程,还有对语法进行编译,形成一个程序集),当程序编译后,执行速度几乎为0。

若相依 发表于 2015-2-5 21:55:43

市场决定一切,我个人从经历上觉得两者至少在很长时间内还是要共存下去,包括C和C++,至少从找工作就看得出来,总不可能大家都像所谓的时尚一样,追捧一门语言并应用它。

莫相离 发表于 2015-2-13 18:52:02

目前在微软的.net战略中新推出的ASP.net借鉴了Java技术的优点,使用CSharp(C#)语言作为ASP.net的推荐语言,同时改进了以前ASP的安全性差等缺点。但是,使用ASP/ASP.net仍有一定的局限性,因为从某种角度来说它们只能在微软的WindowsNT/2000/XP+IIS的服务器平台上良好运行(虽然像ChilliSoft提供了在UNIX/Linux上运行ASP的解决方案.

小魔女 发表于 2015-3-4 01:06:48

Servlet的形式和前面讲的CGI差不多,它是HTML代码和后台程序分开的。它们的启动原理也差不多,都是服务器接到客户端的请求后,进行应答。不同的是,CGI对每个客户请求都打开一个进程(Process)。

第二个灵魂 发表于 2015-3-11 15:12:29

ASP.NET:ASP.net是Microsoft.net的一部分,作为战略产品,不仅仅是ActiveServerPage(ASP)的下一个版本;它还提供了一个统一的Web开发模型,其中包括开发人员生成企业级Web应用程序所需的各种服务。ASP.NET的语法在很大程度上与ASP兼容,同时它还提供一种新的编程模型和结构,可生成伸缩性和稳定性更好的应用程序,并提供更好的安全保护。

若天明 发表于 2015-3-19 00:35:57

当然我们在选择Asp.net主机是,除了要考虑服务提供商在版本是否是实时更新以外,机房的环境和配置也是非常重要的,通常选择骨干网的机房,在速度和稳定性上会非常有保证。

小女巫 发表于 2015-3-26 23:35:43

使用普通的文本编辑器编写,如记事本就可以完成。由脚本在服务器上而不是客户端运行,ASP所使用的脚本语言都在服务端上运行,用户端的浏览器不需要提供任何别的支持,这样大提高了用户与服务器之间的交互的速度。
页: [1]
查看完整版本: ASP.NET网页设计切磋ASP.NET 2.0的Web控件改善之概述