ASP.NET标准控件功能强大,虽然在编程方面方便点,后台代码可以任意访问到并操作,但CSS对母版内容页里的标准控件则很难。原因是经过编译之后的页面标准控件的ID都会变为母版页占位符和原ID的合成字符串,已经不是原来的ID值了,此时如果你的CSS是用ID来定位则失效(在没有母版页的普通aspx页面里标准空间的id值经过编译之后不会变化)。这就是为什么VS中查看到的代码和浏览器中看到的不一样的原因了。因此用CSS来定位最好是使用Class或者CssClass来做。
HTML控件不比ASP.NET标准控件强大,且后台代码直接访问不到。此时我们只需要在HTML控件添加一个run=”server”的属性就可以了,把它转化为服务端的控件,具有编程性。同时HTML控件还没有事件的功能,也就是说你直接用OnClick去关联后台代码的事件是会报错的。但CSS对它却能够定位得很好,无论是用id或者Class去定位。