我正在比较每个命名空间的两个基类,我有点困惑.
System.Web.UI.WebControls.WebControl System.Web.UI.HtmlControls.HtmlControl
我看到两者之间的差别很小.例如,HtmlControl
具有更少的属性,同时WebControl
具有许多属性,如CssClass属性.除了额外的属性之外,WebControl
基类在处理渲染方面似乎更加健壮.
为什么需要有两个名称空间和两组几乎相同的控件?
System.Web.UI.HtmlControls中的控件只是实际HTML控件的一个薄包装器.System.Web.UI.WebControls.WebControl是您的标准ASP.NET控件.
为了扩展这一点:
该System.Web.UI.HtmlControls 命名空间包含的类,允许您在Web窗体页上创建HTML服务器控件.HTML服务器控件在服务器上运行,并直接映射到大多数浏览器支持的标准HTML标记.这允许您以编程方式控制Web窗体页面上的HTML元素.