总结一下我的认识,可能观点和多数人不太一样。MS东西特点是赘肉多,asp.net也是。
Label: 在生成的页面里相当于<span>,Text属性如果是标签的话会被转义成文本。有时候想贴点源代码,能省点事儿。
TextBox:一点多的东西也没有( textchanged事件有人用吗?) 今年以来一直用加了runat的<input>。有时label和textbox随表单回发字体颜色要改变,用直接属性比Style集合爽一点。
Button:因为有onclientclick属性,时常会用。aspx页面里有一个button和两个button效果不一样,需要注意。
LinkButton:作用和button一样,生成<a>标签,有要求链接取代按钮的就用它吧。现在经常用。
ImageButton:生成<input type="image"/>标签,除了显示图片,它的UserSubmitBehavior恒为true。在IE里image型按钮相当于submit,所以要慎用。
HyperLink/Image/Table/HiddenField/FileUpLoad:跟对应的html标签加上runat后作用完全一样,忽略。
DropDownList:也可以忽略。生成<select>,好像和HtmlSelect只有一点点区别。
LIstBox:觉得基本没用。
CheckBox,RadioButton:等于<input type="check">和<input type="radio">,略有html知识即可忽略。
CheckBoxList,RadioButtonList:和DataList一样能多列显示,就当特别的DataList用吧,可以省一点设置和书写,偶尔用一下。
BulletList: 碰上无序列表显示项时可以用来玩一下,别人看了往往想:这是什么,写代码的这位好像很牛啊!
ImageMap: 封装了<map>和<area>,用的场合太少。偶尔有用map的网页,也只是提供链接就够了。万一有用到,别忘了工具板凳箱上还有这位小弟,图片的某区域可以当LinkButton用还是不错的。
Literal: 既能显示文字,又能显示标签和脚本。功能有点少,不过这是构建W3C标准Asp.Net网站的首选控件,就是因为它纯粹干净,和它字面意思一致。
Calendar: 当时觉得做得很漂亮很精致,可惜它忽略的最基本的一点:没人想选择一个日期后就导致回发。而且想翻到下个月也得回发!不得不BS一下微软里这个控件的开发人员,不懂B/S和C/S的区别,做出这么一个十足的垃圾控件。
AdRotator: 所在区域每次刷新页面会显示不同的图片形式链接,广告不想写JS的话用这个还不错。可惜不支持flash。
Panel:VS2005设计器里它不认Css样式,去掉Width和Height属性后就被内容撑的老长。用它的理由是Visible
PlaceHolder:作用和panel差不多,但不生成额外的<div>标签,在编辑器的和实际显示接近,比panel好用。
Xml:用了一两次,xml文件存数据,xslt文件提供模板。感觉不够直观,还不如直接js读xml。
Wizard/MultiView/View: 比起自己写html,有什么方便的地方吗?其实我一次都没用过,估计以后也不会用。
Substitution:也还没用过,听说是跟页面缓存有关的,应该挺有用,有需要时看一下。
发现文章会挺长,今天简先说常规一栏中的控件吧。明天说说其他的,后天总结,希望与大家一起交流一下这方面的看法。