ASP.NET ve JSF’de Visible Olmayan Kontroller için HTML Üretilmeme Sorununun Çözümü
İpucu : Bildiğiniz gibi ASP.NET’te şayet bir kontrolün Visible property’sine False değeri atarsanız kontrolü sayfada görünmez hale getirirsiniz. Ancak ASP.NET bunu yapabilmek için kontrolün html kodunu hiç üretmemeyi tercih eder. Oysa bu tercih geliştiriciler için bazen sorun teşkil etmektedir. Aykut Taşdelen
Eğer geliştirici görünmez olmasına rağmen kontrolün html koduna ilişkin bir javascript yazmışsa sorun yaşayacaktır. Ya da benzer şekilde html’i üretilmeyen kontrol nedeniyle onun altında duran kontrollerde de yukarıya doğru kayma gözlemlenir. Bunların çözümü; Kontrolü Visible property’si yoluyla değil style attribute’leri ile görünmez hale getirmektir. Örneğin bir buton için :
<asp:Button style=”visibility:hidden” ID=”Button1″ runat=”server” Text=”Button” /> veya
<asp:Button style=”display:none” ID=”Button1″ runat=”server” Text=”Button” /> olabilir
Bu sayede kontrol artık görünmez olacak ama html de üretecektir. Şüphesiz aynı işlem programatik de yapılmak istenebilir bu durumda :
Button1.Attributes.Add(“style”, “visibility:hidden”); veya
Button1.Attributes.Add(“style”, “display:none”); çözümü kullanılabilir.
JSF’de de aynı işlem benzer şekilde yapılabilir :
<h:commandButton id="btnGonder" value="gonder" action="#{userBean.gitAction}" style="visibility:hidden; width: 120px; height: 30px"></h:commandButton>
Aykut TAŞDELEN
C ve Sistem Programcıları Derneği Eğitmeni
