两者都是 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或元素。textareaTextMode
Web 控件具有更多功能,但也使用更多资源。它们具有更多属性并支持主题和数据绑定等内容。许多 Web 控件将数据放入 中ViewState,作为页面的一部分发送。如果不小心,ViewState可能会变得很大,并影响页面的加载时间。