作为一名ASP.NET的初学者,了解并且区别一些混淆概念是很必须的,今天这篇博文

就是主要向大家介绍一下Html控件和Web控件。在ASP.net中,用户界面控件主要就是

Html控件和Web控件,在前台页面上看,两种控件非常相似,那么究竟他们有什么不一

样呢?他们又分别适用于什么情况呢?这都是我们需要解决的问题。

(一)首先,先来分别说一说Html控件和Web控件。

Html控件:它是标准的Html标签。代码如下:

  1. <span style="font-family:Microsoft YaHei;"><input id="txtUserName" type="text" /></p></span>

值得注意的是,HTML控件可以通过修改代码将其变成服务器端控件,几乎所有的HT

ML标记只要加上runat="server",这个服务器控件标识属性后都可以变成服务器端控件。

这与普通HTML标记相比最大的区别在于,服务器端控件可以通过服务器端代码来控制。

例如:

  1. <span style="font-family:Microsoft YaHei;"><input id="txtUserName" type="text" runat="server"/></p></span>

Web控件:在这里,我们说的都是Web服务器控件。代码如下:

  1. <span style="font-family:Microsoft YaHei;"><asp:TextBoxIDasp:TextBoxID="txtUserName" runat="server">txtUserName</asp:TextBox></span>

它类似 HTML 服务器控件,同样在服务器创建,它在创建时默认有runat="server" 属性。不过,Web 服务器控件不必映射任何已有的 HTML元素,它们可代表更复杂的元素。

1.特点:

(1).Web控件是对象,它与对象一样,拥有方法和属性,并且响应事件;

(2)当Web控件包含在Web页中时,就可以设置其属性并调用其方法;

(3)可以为Web控件编写服务器端代码以响应在客户端上发生的事件。(这点与

Html控件区别,Html控件是不能在服务器端控制的)

  2.分类:

(二)再者,初步了解了Html和Web控件,我们还需要分析分析两者之间的区别。

 1.书写方面:   显而易见,与Web 服务器控件相比,Html控件没有 asp标记前缀,而

是使用Input。

(1)Web 控件:

  1. <span style="font-family:Microsoft YaHei;"><asp:TextBoxIDasp:TextBoxID="txtUserName"runat="server">txtUserName</asp:TextBox></span>

(2)Html控件:

  1. <span style="font-family:Microsoft YaHei;"><input id="txtUserName" type="text"/></p>;</span>
        2.响应事件方面:

(1)Web 控件:Web控件可以响应服务器端事件,可以在后台代码中设置相关属性

和方法等;

(2)Html控件:不可以响应服务器端事件,但是也是允许响应用户操作的事件的。

例如,按钮控件提供在用户单击按钮时将引发的 click 事件。你可以创建一个称为事件处

理程序的函数来处理该事件,然后向该控件注册此事件处理程序。

关于如何注册此事件处理程序:一种方法是在HTML 中添加事件处理程序:将控件的

事件属性设置为 JavaScript 事件处理程序函数或 javascript语句的名称。另一种方法是

以编程方式添加它。对此我们不做过多解释,不是本篇的重点。

 3.编译处理方面:

(1)Web 控件:Web控件需要通过服务器处理后译为HTML控件再发送给浏览器,

所以比较耗费服务器资源,并由于有VIEWSTATE,所以在回送的时候会保持控件状态(也

可以设置不保存)也因此增加了回送信息量。

(2)Html控件:而Html控件则直接发送到浏览器,不另耗费服务器资源,但无状态

保存!

 4.获取值方面:

(1)Web 控件:获得HTML控件的值   需要使用REQUEST的FORM   方法,

(2)Html控件:WEB控件就可以直接通过属性直接处理!

(三)最后,根据以上方面的比较,我们可以得到一些经验:

如果你不需要保存状态,也不需要获取值,那么可以考虑优先使用Html控件,反之,

如果需要对控件进行动态的处理,并且需要保存其状态,那么优先使用Web控件。

Html控件和Web控件(转)的更多相关文章

  1. HTML 控件和web控件 OnClientClick和OnClick OnServerClick区别

      ^_^ 本来对html控件,服务器控件的知识模模糊糊的.今天特地查了相关的知识. 下面是我写代码总结的. 这些事件   主要用于在客户端执行验证,然后决定是否执行服务端事件   (没接触之前就为此 ...

  2. 【完全开源】百度地图Web service API C#.NET版,带地图显示控件、导航控件、POI查找控件

    目录 概述 功能 如何使用 参考帮助 概述 源代码主要包含三个项目,BMap.NET.BMap.NET.WindowsForm以及BMap.NET.WinformDemo. BMap.NET 对百度地 ...

  3. 2015.2.16 关于delphi web控件打开新网页时弹出关闭页面(js代码)出错的解决办法研究

    参考网址1:http://www.csharpwin.com/csharpspace/2360.shtml...参考网址2:http://www.oschina.net/question/234345 ...

  4. 基于MVC4+EasyUI的Web开发框架经验总结(2)- 使用EasyUI的树控件构建Web界面

    最近花了不少时间在重构和进一步提炼我的Web开发框架上,力求在用户体验和界面设计方面,和Winform开发框架保持一致,而在Web上,我主要采用EasyUI的前端界面处理技术,走MVC的技术路线,在重 ...

  5. 033. asp.netWeb用户控件之二将页面转换成web控件和使用Web控件显示热点新闻

    访问Web用户控件的属性 ASP.NET提供的各种服务器控件都有其自身的属性和方法,程序开发人员可以灵活地使用服务器控件中的属性和方法开发程序.在用户控件中,程序开发人员也可以自行定义各种属性和方法, ...

  6. [MFC] MFC 打开HTML资源(用ID版,也可加载到自己的web控件上)

    @ ^ @:如果是加载到web控件上,就把注释掉的解除注释(改为web控件点后面的函数),把下一句注释 BOOL Button::LoadFromResource(UINT nRes){//打开网页加 ...

  7. 译:c#生成条码的web控件

    译文:http://www.codeproject.com/Tips/846860/Csharp-Barcode-Generator-Web-Control 在asp.net的web页用c#的web控 ...

  8. Javascript语法去控制Web控件的Enabled属性

    Web控件当使用Enabled属性时,它生成html之后会变成了disabled了.我们为了能够在javascript去控制控件的禁用与启用,得从这个disabled入手.如:

  9. Web控件文本框Reset的功能

    在前一篇中<怎样实现Web控件文本框Reset的功能>http://www.cnblogs.com/insus/p/4120889.html Insus.NET只实现了文本框的功能.单个或 ...

随机推荐

  1. react 使用antd的多选功能做一个单选与全选效果

    一个小而简单的单选全选功能,其实官网已经给出效果了,不过是我多做了些复合用法 addorupdatemodal.jsx import React from "react"; imp ...

  2. Linux 中/etc/profile、~/.bash_profile 环境变量配置及执行过程

    环境变量是和Shell紧密相关的,用户登录系统后就启动了一个Shell.对于Linux来说一般是bash,但也可以重新设定或切换到其它的 Shell.对于UNIX,可能是CShelll.环境变量是通过 ...

  3. python接口自动化(四十)- logger 日志 - 下(超详解)

    简介 按照上一篇的计划,这一篇给小伙伴们讲解一下:(1)多模块使用logging,(2)通过文件配置logging模块,(3)自己封装一个日志(logging)类.可能有的小伙伴在这里会有个疑问一个l ...

  4. Linux笔记:crond

    crontab中列出需要执行的命令及执行时间.由于指定的日期Day与星期Week不是相互包含的关系,而是有相交也有不相交的时间.当日期数与星期数均指定为确定值的时候,指令的执行时间到底是什么样的,之前 ...

  5. ELK之logstash收集日志写入redis及读取redis

    logstash->redis->logstash->elasticsearch 1.安装部署redis cd /usr/local/src wget http://download ...

  6. Java编程经验汇总

    JDK和JRE 大家肯定在安装JDK的时候会有选择是否安装单独的jre,一般都会一起安装,我也建议大家这样做.因为这样更能帮助大家弄清楚它们的区别: Jre 是java runtime environ ...

  7. ios获得文件字节总数

    NSDictionary *attributes = [[NSFileManager defaultManager] attributesOfItemAtPath:self.finalPath err ...

  8. 多源最短路径Floyd算法

    多源最短路径是求图中任意两点间的最短路,采用动态规划算法,也称为Floyd算法.将顶点编号为0,1,2...n-1首先定义dis[i][j][k]为顶点 i 到 j 的最短路径,且这条路径只经过最大编 ...

  9. Ajax 控件列表名称简介

    ylbtech-ASP.NET AJAX: Ajax 控件列表名称简介   1.A,返回顶部 1) Accordion 可折叠的 2) AlwaysVisibleControl 始终可见控制 3) A ...

  10. 有用PHP依赖管理工具Composer新手教程

    PHP依赖管理工具Composer新手教程 Composer 是 PHP 的一个依赖管理工具.它同意你申明项目所依赖的代码库,它会在你的项目中为你安装他们. 依赖管理 Composer 不是一个包管理 ...