[转]html控件、html服务器控件和web服务器控件的区别

来源:互联网 发布:头像拼图软件 编辑:程序博客网 时间:2024/05/02 15:04

======================================================
注:本文源代码点此下载
======================================================

asp.net之所以现在开发方便和快捷,关键是它有一组强大的控件库,包括web服务器控件,web用户控件,web自定义控件,html服务器控件和html控件等。这里我主要说说html控件、html服务器控件和web服务器控件的区别。

1、html控件:就是我们通常的说的html语言标记,这些语言标记在已往的静态页面和其他网页里存在,不能在服务器端控制的,只能在客户端通过javascript和vbscript等程序语言来控制。

2、html服务器控件:其实就是html控件的基础上加上runat="server"所构成的控件.它们的注意区别是运行方式不同,html控件运行在客户端,而html服务器控件是运行在服务器端的。参考其他资料是这样说的: 当asp.net网页执行时,会检查标注有无runat 属性,如果标注没有设定,那么html标注就会被视为符串,并被送到字符串流等待送到客户端,客户端的浏览器会对其进行解释;如果html标注有设定runat="server" 属性,page 对象会将该控件放入控制器,服务器端的代码就能对其进行控制,等到控制执行完毕后再将html服务器控件的执行结果转换成html标注,然后当成字符串流发送到客户端进行解释

3、web服务器控件:也称asp.net服务器控件,是web form编程的基本元素,也是asp.net所特有的。它会按照client的情况产生一个或者多个html控件,而不是直接描述html元素。如:程序员可以把更多的精力放在业务上,而不用去考虑客户端的浏览器是ie还是firefox,或者是移动设备。

3)、asp.net服务器控件可以保存状态到viewstate里,这样页面在从客户端回传到服务器端或者从服务器端下载到客户端的过程中都可以保存。

4)、事件处理模型不同,html标注和html服务器控件的事件处理都是在客户端的页面上,而asp.net服务器控件则是在服务器上,举例来说:

是html服务器控件,此时我们点击此按钮,页面不会回传到服务器端,原因是我们没有为其定义鼠标点击事件。

我们为html服务器控件添加了一个onserverclick事件,点击此按钮页面会发回服务器端,并执行test(object sender, eventargs e)方法。

是asp.net服务器控件,并且我们没有为其定义click,但是我们点击时,页面也会发回到服务器端。

由此可见:html标注和html服务器控件的事件是由页面来触发的,而asp.net服务器控件则是由页面把form发回到服务器端,由服务器来处理。


======================================================
在最后,我邀请大家参加新浪APP,就是新浪免费送大家的一个空间,支持PHP+MySql,免费二级域名,免费域名绑定 这个是我邀请的地址,您通过这个链接注册即为我的好友,并获赠云豆500个,价值5元哦!短网址是http://t.cn/SXOiLh我创建的小站每天访客已经达到2000+了,每天挂广告赚50+元哦,呵呵,饭钱不愁了,\(^o^)/
原创粉丝点击