首先申明我的立场:我不是一味的是用服务器控件,当我看教程看到了如何在这两种控件中抉择(Server Controls/HTML Controls),还多人还争论这个问题。根据自己的习惯使用,由于服务器控件也称为智能控件(根据客户的浏览器发送兼容该浏览器的控件HTML),而使用HTML控件程序员可以显示的为浏览器提供代码。服务器控件功能更强大。至于可以在HTML控件加上runat="server"标签,那么我觉得还不如直使用服务器控件,到目前为止我的理解还只有这两种。至于性能的问题:我想这是微软考虑的问题(我个人也测试过服务器控件转换为相应的HTML控件源代码也不慢啊!),可能是这两种控件虽然部分功能重叠,但是用途上还是有区别的(就具体应用而言)。没有绝对,否则MS搞这两套干吗!
还不如考虑 用不用asp.net
HTML加上runat="server"后,其实质上也是服务器控件了。所以我也认为还不如直接用服务器控件。
至于性能问题,你还真得考虑,小微的东西版本越高占用资源越厉害、功能越强的控件占用资源越厉害。
所以个人认为是合理使用
我觉得这句话,应该这样说尽量少用复杂的服务器控件.
比如,同样的一个功能,用gridview能实现,用repeater也能实现,那么就应该用repeater.
类似的,Label和Literal,gridview和datalist等等...
要是开发周期紧张,在运行速度和资源方面有没有什么限制的话,多用点服务器控件也没问题。服务器控件的使用只能根据实际需求来定了,当然,个人习惯也有很大的影响的,呵呵!
如果用label的服务器控件和html,那么速度都是差不多的。
如果用GridView和Table比,那么速度就有些差别。
如果用Repeater和Table比,那么速度又会差不多。该用的还得用,不会有人为了点点性能省得只用html的textbox,而不用服务器的textbox吧