System.Web.UI.HtmlControls和System.Web.UI.WebControls之间有什么区别

6 asp.net controls

我正在比较每个命名空间的两个基类,我有点困惑.

System.Web.UI.WebControls.WebControl
System.Web.UI.HtmlControls.HtmlControl
Run Code Online (Sandbox Code Playgroud)

我看到两者之间的差别很小.例如,HtmlControl具有更少的属性,同时WebControl具有许多属性,如CssClass属性.除了额外的属性之外,WebControl基类在处理渲染方面似乎更加健壮.

为什么需要有两个名称空间和两组几乎相同的控件?

Pow*_*ord 8

System.Web.UI.HtmlControls中的控件只是实际HTML控件的一个薄包装器.System.Web.UI.WebControls.WebControl是您的标准ASP.NET控件.

为了扩展这一点:

System.Web.UI.HtmlControls 命名空间包含的类,允许您在Web窗体页上创建HTML服务器控件.HTML服务器控件在服务器上运行,并直接映射到大多数浏览器支持的标准HTML标记.这允许您以编程方式控制Web窗体页面上的HTML元素.