Основным отличием является то, что HtmlControls обеспечивает способ адресации только части страницы в течение цикла страницы, тогда как WebControls имеют состояние.
В вашем примере, если вы назначите какое-то значение тексту метки, оно сохранится в PostBacks.
По моему опыту, гораздо лучше использовать HtmlControls, если вы можете, они намного легче и не заполняют ваш ViewState. Используйте WebControls, когда вам нужно, чтобы они были с состоянием.
Например, вы можете использовать метку для заголовка страницы, поскольку вы можете назначить значение только один раз (обычно в Page_OnLoad
внутри блока if (!IsPostBack)
). Возможно, вы захотите использовать HTML-диапазон для предоставления обратной связи о состоянии (например, когда состояние обновляется при каждой обратной передаче).