日期:2014-05-17  浏览次数:21266 次

服务器端控件跟html控件
刚学的Asp.net把自己搞的很迷糊,就是分不清楚html控件跟服务器端的控件到底是什么区别,什么时候该用html的控件,什么时候该用服务器端的控件,二者是什么区别,我仅仅知道在服务器端的控件多一个runat=server的属性,老师说见到这个控件就是服务器端的,,但是有时候在aspx页面也用html的控件,,哪些大侠能跟我说说,帮小弟解开谜团,,谢谢

------解决方案--------------------
服务器端控件有很多可以在服务端操作的属性,用这些的话可以增加程序员开发时的便利和掌控能力,
但是付出的代价是服务器解析生成这些控件都要消耗更多的服务器处理能力。
所以,我的经验是如果是可能高比发高访问的前台页面,一般都少用服务器控件,
如果是后台系统这种只供少数人访问的页面,就用服务器控件。
------解决方案--------------------
例如:
aspx:文本框 <asp:TextBox runat="server" ID="txtDemo"></asp>

html: <input type="text" name="demo"/>

前台多用html控件,后台多用服务器控件。html控件占用资源较少,服务器空间,.cs文件可直接对其操作,如
txtDemo.Text="fuck",html控件,也可以直接操作,但前提是加上 runat="server",那样的话好像没什么必要了,不如就直接用TextBox了。
前台使用有事件的服务器控件,就必须放在<form runat="server"></form>中,而这样,就会产生VIEWSTATE,
你可以查看某个.net站点源代码,可能会有<input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="/wEPDwUKLTEwODg3NzczMA9kFgJmD2QWAgIBEGRkFggCBA9kFgZmDxA。。。。这样一个东西。具体要对VIEWSTATE了解,请google。所以,用服务器控件和html控件的访问速度和对服务器的压力,可想而知。