很多人用HTML控件
   <input id="Text1" type="text" runat="server" />如果写了 runat 那和服务端控件
     <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>有什么区别呢?

解决方案 »

  1.   

    前者是在浏览器里面运行的,后者是给asp.net引擎用来渲染html的。
    <asp:TextBox ...>会被渲染成<input ...>之类的html代码,发送给浏览器,浏览器再运行,产生一个用户界面。
      

  2.   

    ]
    恩 vs的控件会被解析成html控件 运行后
      

  3.   


    渲染这种抽象的概念是一种差异 还有其他的吗?为什么很人用了<input id="Text1" type="text" runat="server" />就以为是对页面做了优化而用了<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>就认为是对服务器的一种负担这是为什么呢?
      

  4.   


    你可以看最终aspx页生成的源码,其实最终生成的没有区别服务器控件通过ViewState维持状态,而HTML没有如果没有交互的,可以直接用HTML控件
      

  5.   

    因为后者需要渲染。所谓渲染就是计算。比如我们说显示卡对模型渲染,产生图像就是说,模型提供了某个坐标处有一个球。显示卡就计算,这个球最后代表哪几个像素点。在这里,你告诉asp.net,这里有一个textbox控件。但是究竟产生什么html代码,就需要计算,这个计算也可以叫渲染。
      

  6.   

    本质上说,asp.net、php、python、jsp、node.js...都是一个html代码的生成器,最终浏览器都只理解html。这些html代码生成器的“原料”不同,有的是asp.net模板,有的是php脚本,有的是java bean类……
      

  7.   

    其实两者都运行在服务器端,asp.net负责将其转换为浏览器端标记,然后由浏览器根据不同情况显示出来。
      

  8.   


    这个说法应该是有误的。。HTML控件是运行在客户端的其实主要是找runat="server"这个标记
      

  9.   

    Html控件和Web控件都是服务器控件。无论什么控件,都只能运行在服务器端,客户端只能解析html、js和css等。
      

  10.   

    是不是可以理解为HTML控件比WEB控件少了渲染和VIEWSTATE状态可以直接发送到客户端 由浏览器来解析
      

  11.   

    VIEWSTATE状态其实本身并不存在,它是asp.net利用html表单、cookie、服务器暂存数据等实现的一种机制。
      

  12.   

    Html控件(runat="server")一样有viewstate,你可以试下。<div id="div1" runat="server"></div>
    div1.InnerHtml="很长一串字符";
    然后看下网页源代码。
      

  13.   


    HTML控件 根本不存在运行在哪里的问题
    因为HTML控件本身就是一组可以直接解析的标签
      

  14.   

    Html控件(runat="server")运行在服务器端,经过服务器asp.net处理后,生成的html、css和js代码,最终在浏览器端上显示。
      

  15.   

    html标签对运行在服务器端的代码来说只是普通的字符串,没有控件的概念继承了System.Web.UI.Control的都是服务器控件, 包括System.Web.UI.HtmlControls.HtmlControl
      

  16.   


    HTML控件会当一个字符串送到字符串流,客户端再解析它,不存在什么运行在服务器端
      

  17.   

    类型不同啊。
    一个是:TextBox类型, 一个是HtmlInputText 具体两个有哪些区别你可以看看各类的接口或者源码。使用HtmlInputText 优势在于在美工切页面以后样式不用考虑太多。
      

  18.   

    Html控件(runat="server")同Web控件一样有完整的控件生命周期,并不是原样不动就送往客户端的。参考这篇文章:http://www.cnblogs.com/greatwang/archive/2008/06/06/1214934.html
      

  19.   

    大家理解不同
    Html控件(runat="server")在多数人眼中属于服务器端控件。当然,非要说用服务器控件标记的才叫服务器控件,你这么说也对。之所以倾向Html控件不包括runat="server",主要是这样就和别的web开发平台容易统一起来。因为html控件在多数php、jsp或者别的开发者眼中就是在浏览器运行的,UI组件。
      

  20.   


    原来你指的是有runat="server"
      

  21.   

    对。因为楼主给出的两个就是这样。没有runat="server"的html标记当然运行在客户端喽。
      

  22.   

    这个问题比较俗了,网上关于这方面的内容有很多,给LZ看篇我曾经总结过的文章
    http://blog.sina.com.cn/s/blog_604527460100ioyi.html
      

  23.   

    这问题比较俗了,网上关于这方面的文章有很多。给LZ看篇我曾经总结过的文章。
    http://blog.sina.com.cn/s/blog_604527460100ioyi.html
      

  24.   


    只要是runat=server 那么都是服务器控件!这两个服务器控件的区别在于一个属性少一个属性多!
      

  25.   

    只要加上了 runat=server  在用户请求页面的时候 服务器加载页面类 都是在controltree类下生成 比如提交页面的时候服务器帮助我们保存Value值 区别在与 <asp:> 控件有.net独有的 viewstate[] 进行状态保持 而html runat=server没有。 
      

  26.   

      
      服务端控件,还要服务器解析成HTML控件,然后在传回客户端。  所以增加了服务器的压力。