如题,小弟想问一下这三个控件有什么不同,它们的事件是在哪里发生的(客户端or服务器端),可以详细点吗,谢谢啦

解决方案 »

  1.   

    差别请看
    http://www.extremeexperts.com/net/faq/diffbetweenserverandhtmlcontrols.aspx
      

  2.   

      html控件与服务器控件主要区别是,是否有runat="server" 属性,有就为服务器控件,
      

  3.   

    所谓的“html控件”其实是是某些开发人员自己起的名字,个人认为不是太规范。它就是不加runat="server"的html标签,但asp.net里并不存在“html控件”,也就是说“html控件”在asp.net里找不到明确的对应类型,asp.net把连续的静态文本(包括html标签)解析成LiteralControl。html服务器控件就是加runat="server"的html标签,它在asp.net里有明确的对应类型,或一对一(如HtmlInputButton、HtmlImage、HtmlAnchor),或多对一(如HtmlGenericControl)。Web控件数量是最多了,什么Button、TextBox、GridView、数据源控件、验证控件等都属于Web控件。几乎所有的服务器控件都有服务器端事件,很多也可以有客户端事件。有一些则没有客户端事件,比如SqlDataSource。
      

  4.   

    Web 服务器控件:
    http://msdn.microsoft.com/zh-cn/library/system.web.ui.webcontrols(v=vs.100).aspx
    HTML 服务器控件:
    http://msdn.microsoft.com/zh-cn/library/system.web.ui.htmlcontrols(v=vs.100).aspx楼主所说的"html控件"不属于asp.net服务器端的编程模型,
    asp.net自动渲染html,
    开发者可以不用直接编写和操作html标签,而是使用服务器端编程模型引用
    微软允许程序员直接在aspx文件中设计视图,
    其实那里面的内容都是"假的",
    当你真正的发布一个网站的时候,那个文件只是个马甲,除了一句:
    【这是预编译工具生成的标记文件,不应被删除!】
    啥也没有
      

  5.   

    服务器控件,可以在服务端进行更多的控制,有的服务器控件,可以实现很复杂的功能,如Calendar控件,这样使用起来就比较方便了,服务器控件也比较费服务器资源,因为要经过多个事件过程的处理。
      

  6.   

    其实没有本质的区别。。
    HTML控件是完全客户端的,而web控件则是对html 控件做了封装
    他是服务器端的。。加载页面时产生客户端HTML 控件代码。。
    比如服务器端的BUTTON。加载页面时产生。。一个<INPUT TYPE="SUBMIT" id="submit"/> 代码。。
    而在页面提交时,原本是通过request.form("submit")来接收 button的属性
    而服务器控件的话,则直接可以用id 获取 button的属性
      

  7.   

    我和LZ一样,刚开始也搞不清楚
    建议先看看ASP的提交方式,然后就比较清楚了。