在ASP.Net中涉及到一些常用控件的使用,主要分为两类:服务器控件和客户端控件。在服务器控件中有分为Web控件和Html服务器控件,客户端控件则指Html控件。先来看一下在ASP.Net中服务器控件和客户端控件各自的运行机制。 服务器控件:Web控件,事件仅由浏览器生成,但浏览 器不会处理它,客户端要给服务器发个信息,告诉服务器处理事件。 不过有些事件, 比如: 按下键/移动/鼠标等事件,Asp.net中没有这些事件的。 客户端控件:Html窗体控件, 当引发一个事件时,浏览器会处理它。在静态网页里,如要实现动态网页的话,可在客户端添加Javascript或者Vbscript等语句进行控制。 刚开始接触服务器控件和客户端控件的时候,很纳闷这两类有什么联系和区别。在学习了一段时间的ASP.Net之后,再加上从网上找的一些资料慢慢地理清了它们之间的关系,今天咱们就来说说ASP.Net中的Web控件和Html控件。 1、Html控件:就是我们通常的说的html语言标记,这些语言标记在已往的静态页面和其他网页里存在,不能在服务器端控制的,只能在客户端通过javascript和vbscript等程序语言来控制。 2、Web服务器控件:也称asp.net服务器控件,是Web Form编程的基本元素,也是asp.net所特有的。它会按照client的情况产生一个或者多个html控件,而不是直接描述html元素。 3、Html服务器控件:其实就是Html控件的基础上加上runat="server"所构成的控件。它们的注意区别是运行方式不同,Html控件运行在客户端,而Html服务器控件是运行在服务器端的。 区别 WEB服务器控件是HTML控件的一种扩展,区别是:
1)前者可以触发服务器控件特有的事件,后者只能通过回递的方式触发服务器上的页面级事件。
2)输入到前者中的数据在请求之间可以维护数据(通过ViewState维持控件的状态),而后者无法自动维护数据,只能使用页面级的脚本来保存和恢复。
3)前者可以自动检测浏览器并调整到恰当的显示,而后者没有自动适应功能,必须在代码中手动检测浏览器。
4)每个服务器控件都具有一组属性,可以在服务器端的代码中更改控件的外观和行为,而后者只有HTML属性。 总结 在制作网页时,如不需要服务器端的事件或状态管理功能时,可以选择HTML控件,这样可以提高应用程序的性能。 相反,Web或者Html控件可以与服务器进行交互,方便编程。总之,两者各有好处和不足,在网页制作时根据具体情况分析,选择合适的控件。
|