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

时间:2008-12-29 18:29:35

标签: asp.net controls

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

System.Web.UI.WebControls.WebControl
System.Web.UI.HtmlControls.HtmlControl

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

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

3 个答案:

答案 0 :(得分:8)

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

稍微扩展一下:

  

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

答案 1 :(得分:0)

RadioButtonList是一个ASP.NET WebControl。但是HTML中不存在这样的控件 - 在HTML中你有一组INPUT控件,类型为“radio”,它们共享相同的名称属性值。

因此,WebControl是呈现给HTML控件的ASP.NET控件。 HtmlControl是页面上HTML控件的实际表示。

答案 2 :(得分:0)

来自w3schools

  

与HTML服务器控件一样,Web服务器   控件也是在。上创建的   服务器,他们需要一个   runat =“server”属性工作。   但是,Web服务器控件没有   必须映射到任何现有的HTML   元素,它们可能代表更多   复杂的元素。

Web控件通常功能更强大,但还需要更多资源来动态生成相应的HTML。