Her ikisi de ASP.NET sunucu denetimleridir. HTML öğelerine karşılık gelenler System.Web.UI.HtmlControls
ad alanındadır ve web denetimleri System.Web.UI.WebControls
ad alanındadır.
HTML denetimleri daha hafiftir ve tam olarak bir HTML öğesine karşılık gelir; web denetimleri daha fazla özelliğe sahiptir ve tarayıcı özelliklerine ve denetimin ayarlarına bağlı olarak farklı HTML öğeleri olarak oluşturulabilir.
Bir HTML denetimi, bir web denetimi sıfır veya daha fazla HTML öğesi olarak oluşturulduğunda, tek bir HTML öğesi oluşturur. Örneğin, Literal
denetimi, bir öğe olarak işlenmez, yalnızca metnini çıkarır. Repeater
ve PlaceHolder
denetimleri gibi, kendi başına herhangi bir öğe oluşturmayan başka denetimler de vardır.Diğer yandan, örneğin, CheckBoxList
denetimi, birkaç HTML öğesi, kapsayıcı olarak table
ve içindeki her onay kutusu için input
öğesi olarak işlenir.
farklı elemanlar kullanılarak oluşturulan bir kontrol örneği bir input
veya TextMode
özelliğine bağlı olarak bir textarea
eleman olarak ya da işlenecek TextBox
kontrolüdür.
Web denetimleri daha fazla özelliğe sahiptir, ancak daha fazla kaynak kullanır. Daha fazla mülkleri var ve temalar ve veri bağlama gibi şeyleri destekliyorlar. Web kontrollerinin birçoğu, sayfanın bir parçası olarak gönderilen ViewState
'a veri koydu. Dikkatli değilseniz, ViewState
oldukça büyük olabilir ve sayfanın yüklenme süresini etkiler.
+1 Bazı insanlar, bir HTML denetimine runat = "server" ekleme, aslında bu denetimi bir sunucu denetimine dönüştürdüğünde hiçbir şey değiştirmez. –