ASP.NET控件<ASP:Button />-------html控件<input type="button">
杨中科是这么说的:asp和input是一样的东西

服务器只认识input,我们可以直接写input

但是asp是要把自己自动翻译成input再交给服务器的。其实是一样的东西

写写我看到的区别:
                asp控件,直接可以用c#编程
                input加上 runat=“server” 也被c#编程了

说白了,两个是一样的东西,呵呵~~~,现在明白牛腩购物网中,小牛为什么把input全部都改成课asp了。

HTML控件是为了兼容性考虑的,如果你直接用ASP.NET独有的控件,这个网页就不能再其他程序中正常编辑,比如Dreamweaver,这样不方便网页设计师和程序开发人员的分工协作。还有一些Javascript对ASP.NET控件的兼容性也不太好;

另外ASP.net控件或多或少会消耗一些服务器资源,这些控件最终会经过服务器的转换成为HTML控件,这一转换是要消耗资源的,但是这种消耗微乎其微。
比如<ASP:Textbox>对应<input type="text>, <ASP:button>对应<input type="button">或者<input type="submit>, <ASP:Label>对应<Span>

所以一般情况下能用ASP.NET控件的尽量用ASP.NET控件,它的功能远比HTML控件强大。另外上传文件也可以用ASP.NET控件。

Dreamweaver是做设计用的,不是搞编程,而且他不只为ASP.NET服务,其他服务器端编程技术比如PHP,JSP都是以HTML控件为基础,不像ASP.NET设计了一套独有的控件。

还有“一个在服务器运行、一个在客户端运行”你这个理解是错误的,即使是HTML控件加上runat="server"也一样是在服务器端运行。

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 
    IIl直接双击浏览器运行,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,你好!');"$amp;>amp;$nbsp;

在不需要与后台进行交互时就使用HTML控件,它的占用的资源比较少,速度也比较快,在需要与后台进行交互时,就使用WEB控件,或者在HTML   控件上加上runat="server"   也可以将一个HTML控件转换成交互控件,但这样占用的资源就和Web控件没任何分别了。 
       WEB控件可以响应服务器端事件,可以在后台代码中设置相关属性和方法等!HTML不可, WEB服务器控件需要通过服务器处理后译为HTML控件再发送给浏览器,所以比较耗费服务器资源,并由于有IEWSTATE,所以在回送的时候会保持控件状态(也可以设置不保存)也因此增加了回送信息量。HTML直接发送到浏览器,不另耗费服务器资源,但无状态保存!    
       获得HTML控件的值   需要使用REQUEST的FORM   方法,WEB控件就可以直接通过属性直接处理!   
所以,一般来说,对于不需要保存控件状态,并无什么对值处理的地方就可以使用HTML 如果需要对控件进行动态的处理,或要保存其状态等   就可以WEB服务器控件!WEB服务器控件用起来个人认为要方便些,但是就是另外多耗费服务器资源!   
    很多书上都说,考虑性能的话在能不用WEB服务器控件的地方就尽量不用。    
    什么时候用什么时候不用还是要看具体情况,在条件宽松的情况下就看个人习惯了

ASP.NET控件<ASP:Button /> html控件<input type="button">区别联系的更多相关文章

  1. from中buttone 和 input type="button" 区别

    在做一个表单提交时碰到的问题, 1.js判断阻止表单提交,如果是form 里面的button的话,恭喜你,你要再换个写法了.<button type="submit" ... ...

  2. asp.net中<input type=button>无法调用后台函数

    例如:用<input id="bt1" type="button" runat="server" Onclick="btnL ...

  3. <button>和<input type="button"> 的区别

    <button>标签 定义和用法 <button> 标签定义一个按钮. 在 button 元素内部,您可以放置内容,比如文本或图像.这是该元素与使用 input 元素创建的按钮 ...

  4. <button>与<input type="button">的区别

    一.定义和用法 <button> 标签定义的是一个按钮. 在 button 元素内部,可以放置文本或图像.这是<button>与使用 input 元素创建的按钮的不同之处. 二 ...

  5. 解析<button>和<input type="button"> 的区别

    一.定义和用法 <button> 标签定义的是一个按钮. 在 button 元素内部,可以放置文本或图像.这是<button>与使用 input 元素创建的按钮的不同之处. 二 ...

  6. 解析button和input type=”button”的区别

    一.定义和用法 <button> 标签定义的是一个按钮. 在 button 元素内部,可以放置文本或图像.这是<button>与使用 input 元素创建的按钮的不同之处. 二 ...

  7. 【转】解析<button>和<input type="button"> 的区别

    一.定义和用法 <button> 标签定义的是一个按钮. 在 button 元素内部,可以放置文本或图像.这是<button>与使用 input 元素创建的按钮的不同之处. 二 ...

  8. button标签与input type=button标签使用的差异

    button标签和input type=button标签都是html文档中用来表示按钮属性的元素,不过他们在布局和实际使用功能中存在一些差异. 下面将项目中遇到的一些总结如下: 1.属性和布局差异. ...

  9. button与input[type=”button”]的区别

    button与input[type="button"]的区别 特别感谢 @守护晴天 ,指出了博客中不细致不严谨的地方,也让我学到了更多,更多是觉得抱歉,由于自己的不细致可能误导了一 ...

随机推荐

  1. Struts2环境搭建

    1,从http://struts.apache.org  官网下载struts2的源码,最新的源码是2.5版本的,但是考虑到网上2.3版本的教程比较多,所以我下载了一个2.3版本的struts. 2, ...

  2. c++程序设计之编程思想

    代码块愈小,代码的功能就愈容易管理,代码的处理和移动就愈轻松. 任何一个傻瓜都能写出计算机可以理解的代码,唯有写出人类容易理解的代码,才是优秀的程序员. 绝大多数情况下,函数应该放在它所使用的数据的所 ...

  3. High Memory in the Linux Kernel

    This is enabled via the PAE (Physical Address Extension) extension of the PentiumPro processors. PAE ...

  4. 从一个复杂的json格式的String内获取某key的值

    如题,如何简单的从一个复杂的String格式内获取某个key的值. 例如:从下面String下取到status的值. {"response":{"info":{ ...

  5. CountDownLatch如何使用

    正如每个Java文档所描述的那样,CountDownLatch是一个同步工具类,它允许一个或多个线程一直等待,直到其他线程的操作执行完后再执行.在Java并发中,countdownlatch的概念是一 ...

  6. MongoDB服务重启及后台运行解决方法

    1 在MongoDB 安装目录下 新建一个test文件夹 mkdir /test 2 切换到MongoDB的安装目录(可通过 find -name 'mongod'命令查找安装目录)下 执行: bin ...

  7. C# 一些知识点总结(一)_继承,多态,集合,关键字...

    内存中的三大存储区域:栈.堆.静态存储区域 new 关键字:new帮助我们做了三件事:1)在内存中开辟一块空间(开辟内存空间)2) 在开辟的空间中创建对象3)调用对象的构造函数进行初始化对象所以构造函 ...

  8. ajax data传值

    如果要我们要把整个form1表单中的输入框都传过去可以用data:$("#form1").serialize(), 但是我们如果还要传一个不在form中的值呢? 可以使用下面这种方 ...

  9. Random Javascript code snippets

    MollyPages.org"You were wrong case.To live here is to live." Home Pages / Database / Forms ...

  10. win7 下加载MSCOMCTL.OCX

    cd C:\Windows\System32"C:\Windows\Microsoft.NET\Framework64\v4.0.30319\regtlibv12.exe" msd ...