В чем разница между System.Web.UI.HtmlControls и System.Web.UI.WebControls - PullRequest
6 голосов
/ 29 декабря 2008

Я сравниваю два базовых класса каждого пространства имен и немного запутался.

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

Я вижу небольшую разницу между ними. Например, HtmlControl имеет гораздо меньше свойств, в то время как WebControl имеет много свойств, таких как свойство CssClass. Помимо дополнительных свойств базовый класс WebControl выглядит более надежным в способе обработки рендеринга.

Почему нужно иметь два пространства имен и два набора почти идентичных элементов управления?

Ответы [ 3 ]

8 голосов
/ 29 декабря 2008

Элементы управления в System.Web.UI.HtmlControls являются лишь тонкой оболочкой для реальных элементов управления HTML. System.Web.UI.WebControls.WebControl - это ваши стандартные элементы управления ASP.NET.

Подробнее об этом:

System.Web.UI.HtmlControls пространство имен содержит классы, которые позволяют вам создать HTML-сервер управления страница веб-форм. HTML-сервер управления запустить на сервере и сопоставить непосредственно с стандартные теги HTML, поддерживаемые большинством браузеры. Это позволяет вам программно контролировать HTML элементы на странице веб-форм.

0 голосов
/ 29 декабря 2008

Из w3schools :

Как элементы управления HTML-сервером, веб-сервер элементы управления также создаются на сервер, и они требуют runat = "сервер" атрибут для работы. Однако элементы управления веб-сервером не обязательно отображать на любой существующий HTML элементы, и они могут представлять больше сложные элементы.

Веб-элементы управления обычно немного более мощные, но также требуют немного больше ресурсов для динамической генерации соответствующего HTML.

0 голосов
/ 29 декабря 2008

RadioButtonList - это ASP.NET WebControl. Но в HTML такого элемента управления не существует - в HTML у вас будет группа элементов управления INPUT с типом «radio», которые имеют одинаковое значение атрибута name.

Итак, WebControls - это элементы управления ASP.NET, которые отображаются в элементах управления HTML. HtmlControl - это фактическое представление HTML-элемента управления на странице.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...