选择显示字体大小

谈谈htmlcontrol与webcontrol的区别与用途

web控件和html控件虽然好多功能相同并且长得很像

但是它们的内部实现机制是完全不一样的

web控件要比html控件执行效率要好

1. 使用起来也相当方便,举个简单的例子,例如button的生成:

html控件是将庞大控件集合全部弄到页面中,用到哪个功能,就设置一下属性,如下:

<input type=submit/button runat=server>

这样会占用相当大的控件资源

web控件是将集成式的拆解成单功能的:

<asp:button id="btnok" />

这样就可以节省不必要的控件所占用的资源了

2.web控件具有回送功能,能够用viewstate维持控件的状态.

html控件则不能,当点击页面的操作,其状态就会丢失.

可以做这样的一个实验:

i. 分别建立两个文件: a.html b.aspx

ii.在a.html页面中加html控件的radiobutton和一个button,

在b.aspx中加web控件的radiobutton和一个button

iii.a.html直接双击浏览器运行,b.aspx通过iis运行

iv.在a.html运行界面中,选中radiobutton,再单击button按钮,会发现radiobutton会

取消选中(丢失其状态),但在b.aspx页面执行同样的操作,radiobutton不会丢失,因为viewstate

给它保存了状态. 您可以在运行界面点击浏览器菜单"查看"->“源文件",打开html代码文件,

找到加密后的viewstate,类似于下面:

<input type="hidden" name="_viewstate" value="ddw0ajfmafmjfzzmj4"/>

其实viewstate实现原理也是将一些信息放到隐藏的一个控件中,并且asp.net生成的viewstate信息

是存储在客户端的

这里要注意的一点是:

只有当格式为*.aspx文件,并且控件具有属性:"runat=server"时,回送功能才能打开

3. html控件与web控件最大的区别是它们对事件处理的方法不同。对于html窗体控件,

当引发一个事件时,浏览器会处理它。但对于web控件,事件仅由浏览器生成,但浏览

器不会处理它,客户端要给服务器发个信息,告诉服务器处理事件。 不过有些事件,

比如:

按下键/移动/鼠标等事件,asp.net中没有这些事件

(因为这些事件即时性强,服务器处理得不够及时),这时候html控件就发挥其作用了,结合html事件

协助完成.

如下是一些html常用的事件:

在浏览器上执行的html控件事件:

单击时触发:

<input type="button" value="click me" onclick="alert('hi,你好!');">

鼠标弹起时触发:

<input type="button" value="click me" onmouseup="alert('hi,你好!');">

//悬浮在控件上方时触发

<input type="button" value="click me" onmouseover="alert('hi,你好!');">

//鼠标在控件上方移动时触发

<input type="button" value="click me" onmousemove="alert('hi,你好!');">

//双击控件时触发

<input type="button" value="click me" ondblclick="alert('hi,你好!');">

//当焦点在控件时,按键时触发

<input type="button" value="click me" onkeypress="alert('hi,你好!');">

//按键按下时触发

<input type="button" value="click me" onkeydown="alert('hi,你好!');">


 


关键字 本文所属关键字

相关 与本文相关文章

分类 所有文章关键字导航

源码编程相关

Java   Asp   PHP   .Net   XML   C/C++   CGI   VB   Jsp   J2ee   J2se   J2me   EJB   Servlet   Tomcat   Resin   Struts   Weblogic   Eclipse   ANT   GUI   JMS   Web servise   IDEA   Webphere   Hibernate   Spring   Jboss   Applet   Swing   Socket   Javamail   Perl   Ajax   P2P   安全   模式   框架   测试   开源   游戏

SQL数据库相关

My-SQL   Ms-SQL   Access   DB2   Oracle   Sybase   SQLserver   索引   存储过程   加密   数据库   分页   视图  

手机无线相关

3G   Wap   CDMA   GRPS   GSM   IVR   彩信   短信   无线   增值业务

网页设计制作相关

HTML   CSS   网页配色   网页特效   Javascript   VBscript   Dreamweaver   Frontpage   JS   Web   网站设计

网站建设推广相关

建站经验   网站优化   网站排名   推广   Alexa

操作系统/服务器相关

Windows XP   Windows 2000   Windows 2003   Windows Me   Windows 9.x   Linux   UNIX   注册表   操作系统   服务器   应用服务器

图形图像多媒体相关

Photoshop   Fireworks   Flash   Coreldraw   Illustrator   Freehand   Photoimpact   多媒体   图形图像

标准 网站致力的规范

Valid CSS!

无不良内容,无不良广告,无恶意代码

Valid XHTML 1.0 Transitional

creativecommons