两者都是 ASP.NET 服务器控件。与 HTML 元素对应的元素在System.Web.UI.HtmlControls
命名空间中,Web 控件在System.Web.UI.WebControls
命名空间中。
HTML 控件更轻量级,并且与 HTML 元素完全对应,而 Web 控件具有更多功能,可以根据浏览器功能和控件设置呈现为不同的 HTML 元素。
HTML 控件呈现为单个 HTML 元素,而 Web 控件呈现为零个或多个 HTML 元素。例如,Literal
控件不呈现为元素,它只输出其文本。还有其他控件本身不呈现任何元素,例如Repeater
和PlaceHolder
控件。另一方面,CheckBoxList
例如,控件被呈现为几个 HTML 元素,一个table
作为容器,以及input
其中每个复选框的元素。
使用不同元素呈现的控件的一个示例是TextBox
控件,它将根据其属性呈现为元素input
或元素。textarea
TextMode
Web 控件具有更多功能,但也使用更多资源。它们具有更多属性并支持主题和数据绑定等内容。许多 Web 控件将数据放入 中ViewState
,作为页面的一部分发送。如果不小心,ViewState
可能会变得很大,并影响页面的加载时间。