Obie są kontrolkami serwera ASP.NET. Te odpowiadające elementom HTML znajdują się w przestrzeni nazw System.Web.UI.HtmlControls
, a formanty internetowe znajdują się w przestrzeni nazw System.Web.UI.WebControls
.
Elementy sterujące HTML są bardziej lekkie i odpowiadają dokładnie elementowi HTML, podczas gdy elementy sterujące w Internecie mają więcej funkcji i mogą być renderowane jako różne elementy HTML w zależności od możliwości przeglądarki i ustawień kontrolki.
Kontrola HTML jest renderowana jako pojedynczy element HTML, a formant sieciowy jest renderowany jako zero lub więcej elementów HTML. Sterowanie Literal
nie jest na przykład renderowane jako element, a jedynie wyświetla tekst. Istnieją inne formanty, które same nie renderują żadnych elementów, takich jak formanty Repeater
i PlaceHolder
.Z drugiej strony na przykład sterowanie CheckBoxList
jest renderowane jako kilka elementów HTML, table
jako kontener i input
elementów dla każdego pola wyboru w środku.
Przykładem sterowania, która jest realizowana za pomocą różnych elementów jest sterowanie TextBox
, które zostaną wykonane albo jako input
lub element textarea
w zależności od jej własności TextMode
.
Sterowanie internetowe ma więcej funkcji, ale wykorzystuje też więcej zasobów. Mają więcej właściwości i obsługują takie rzeczy jak tematy i powiązanie danych. Wiele elementów sterujących w Internecie umieszcza dane w pliku ViewState
, który jest wysyłany jako część strony. Jeśli nie jesteś ostrożny, ViewState
może stać się dość duży i wpływać na czas ładowania strony.
+1 Niektórzy uważają, że dodanie runat = "server" do formantu HTML niczego nie zmienia, podczas gdy w rzeczywistości konwertują tę kontrolę do kontrolki serwera. –