2013-04-16 21 views
5

Neden System.Web.UI.WebControls.HiddenFieldSystem.Web.UI.WebControls.WebControl yerine System.Web.UI.Control mi? Gizli sayfaların web sayfalarında kullanılmaması gerçeği, gerçekten mantıksız bir yerleşime benziyor. Bunun gibi tasarlanmasının nedeni nedir? Eğer UI.Control ve UI.WebControls.WebControl arasındaki temel fark WebControl bir UI olan bir bileşen için bir temel sınıf olarak hizmet etmek içindir ki WebControl x = new HiddenField();HiddenField bir WebControl değil mi?

+0

'WebControl'ün ayrıca' Control' – Magnus

+0

'dan devraldığını, ancak '' HiddenField''ı 'WebControl''üne atayamayacağınızı unutmayın. (Ve evet, ben refactoring:]) – Izzy

cevap

5

gibi şeyler yapamaz zaman

Bu işler oldukça can sıkıcı hale getirir. Gizli alan hiçbir zaman kullanıcıya hiçbir şey göstermediğinden (her şeyden önce gizlidir), UI.Control daha uygun bir temel sınıftır.

+0

Ama hepimiz CSS devre dışı bıraktığınızda gizli alanları görüntüleyebileceğinizi biliyoruz .. Ama + 1 mantık için. – Izzy

+3

HiddenField'ın, CSS devre dışı bırakılmış olsa bile gizlenmiş olan olarak işlediğine inanıyorum. 'Display: none;' ile farklı bir HTML öğesi olarak oluşturulduysa CSS, o zaman evet, hala görüntülenecekti. Ama eminim ki durum böyle değil. –

+0

Refactoring sırasında değişikliklerin çoğunun Genişlik/Yükseklik ayarının yapıldığı WebControls ile ilgili olduğunu fark ettim. Bu nedenle, bu özelliklere sahip olmanın, görüntülenmemesi gereken/görüntülenmeyecek bir alan oluşturması mantıklı değil. – Izzy