当一个第三方
控件比如IEWebControl被拖放到Web页面上时,Web页面中会增加以下代码:<%@RegisterTagPrefix=iewcNamespace=MicrosoftWebUIWebControlsAssembly=MicrosoftWebUIWebControls%<iewc:treeviewid=TreeView1runat=server</iewc:treeview上面的HTML中的asp、iewc是
服务器控件的TagPrefix,在Register TagPrefix时指定的Namespace
属性是指服务器控件类所属的命名控件,Assembly属性指定的是服务器控件类所属的Dll。在开发服务器控件的时候,如果不设置TagPrefix,默认是CC(好像是这个,CustomControl的简写)。设置TagPrefix的方法是:在服务器控件类对应的cs文件中,增加下面的标签说明:[assembly:TagPrefix(WEB控件可以响应服务器端事件,可以在后台代码中设置相关属性和方法等!
HTML不可以
WEB服务器控件需要通过服务器处理后译为HTML控件再发送给浏览器,所以比较耗费服务器资源,并由于有VIEWSTATE,所以在回送的时候会保持控件状态(也可以设置不保存)也因此增加了回送信息量。
HTML直接发送到浏览器,不另耗费服务器资源,但无状态保存!
获得HTML控件的值 需要使用REQUEST的FORM 方法,WEB控件就可以直接通过属性直接处理!
所以,一般来说,对于不需要保存控件状态,并无什么对值处理的地方就可以使用HTML
如果需要对控件进行动态的处理,或要保存其状态等 就可以WEB服务器控件!
WEB服务器控件用起来个人认为要方便些,但是就是另外多耗费服务器资源!
很多书上都说,考虑性能的话在能不用WEB服务器控件的地方就尽量不用。
什么时候用什么时候不用还是要看具体情况,在条件宽松的情况下就看个人习惯了
评论列表(0条)