ASP.NET İmla Kuralları – 1
ASP.NET dosyalarının .aspx uzantısı ile kaydedildiğini biliyoruz. Bu ayrıcalık
ile, eski ASP sayfalarımız, ASP.NET kurulu bir sistem üzerinde sorunsuz çalışabiliyor.
Uzantılar değişti. Peki ya kodlama stilinde bir değişiklik var mı? ASP.NET, ASP'den
kalma alışkanlıklarımıza ne kadar müsade ediyor? Yazımız, bu sorulara cevap arayacak.
ASP'yi bir hatırlayalım
ASP ile uğraşanların çok iyi bildiği
<% %> etiketleri vardır. Bu etiketlerle HTML
kodlarının arasında, sunucu taraflı script kodu için blok oluşturulur ve sayfa için
belirtilmiş script dili ile kodlamalar yazılır.
--pagebreak--
Hemen bu tip bir klasik ASP sayfası örneği verelim:
| Örnek bir ASP sayfası | |
|
<% For i=1 To 5 %> size="<%= i %>"><%= i %> <% |
|
Yukarıdaki kodda <% ve %> etiketleri arasında yazılmış ifadeler, ASP yorumlayıcısı
tarafından sunucu taraflı bir talimat olarak değerlendirilecek ve icra edilecektir.
Ancak ASP'de sunucu taraflı script yazmanın bir başka yolu daha var:
Runat="Server" olarak nitelenmiş bir
Script etiketi. Hemen bakalım:
| ASP sayfasında sunucu taraflı Script etiketi | |
|
|
|
ASP.NET Kod Blokları
ASP.NET motoru da, ASP gibi aynı şekilde kısa etiketleri ve script bloklarını kabul
ediyor. Yalnız bir takım farklılıklar ve kısıtlamalarla birlikte.
-- Kısa etiketler içerisinde
Function veya
Sub bloğu tanımlayamazsınız. Yani aşağıdaki kullanım
hatalıdır:
|
<%
' ASP.NET bu aşağıdaki satırda hata verecektir. Sub Deneme() Response.Write("asda") End Sub %> |
Bu tanımlama ile hata alıyorsak fonksiyonlarımızı nerede tanımlayacağız? Geriye
bir tek yol kalıyor o da sunucu taraflı
Script etiketi kullanmak. Şöyle:
|
|
-- Sunucu taraflı
Script bloğu içerisinde sadece tanımlama
yapılabilir. Deklarasyon dışında herhangi bir metod çağrısı veya atama yapılamaz:
|
|
Tüm kısıtlamaların elbette bir nedeni var: nesneye yönelik mimari; ancak bu yazımızın
konusu değil. Merak edenler, yukarıdaki kodlarda yanlış bir kullanım yapıp, çıkan
hata sayfasının en alt kısmındaki Show Complete Compilation Source linkine
tıklayarak ASP.NET tarafından otomatik oluşturulan, sayfa ile aynı adı taşıyan Class
koduna bakabilirler. ASP.NET teknolojisinin getirdiği bir yenilik de işte bu noktada:
.aspx dosyasına yazdığınız her şey, yani bir script kodundan tutun da bir boşluk
karakterine kadar her şey bir Class bünyesine alınıyor. Ve bu dosya derlenip
.dll olarak saklanıyor. Kaynak kod değişene kadar sizin sayfanız .aspx dosyasından
değil, bu derlenmiş .dll'den sunuluyor. Bu, sayfanızın artık gerçek bir program
gibi çalışması demek.
Bunun yanında unutmamamız gereken bir kural: sayfa içi global değişkenlerimizi
Script bloğunda deklare etmeliyiz. Çünkü kısa etiketler
(<% %>) içinde tanımladığımız değişkenler, Script bloğundaki prosedürler tarafından
bilinmez. Bunun nedeni, sayfada <% %> arasındaki tüm ifadelerin derleme aşamasında
ayrı bir prosedür içerisinde toplanması ve tanımlanan değişkenlerin de bu prosedürün
lokal değişkenleri olmasıdır.
Sunucu Taraflı Yorum Bloğu
ASP.NET, sayfa içerisinde kullanılan dilden bağımsız bir yorumlama tekniği getiriyor.
Yorumlarımız, elbette sunucu taraflı olduğu için istemciye yansımıyor. Sunucu taraflı
yorum bloğunu
<%-- ve
--%> etiketleri ile oluşturuyoruz. Bu blok, ister
çok satırlı, ister tek satırlı kullanılabilir.
| Sunucu taraflı yorumlama teknikleri | |
|
<%--
Burdaki kodlar, ASP.NET parser tarafından dikkate alınmayacaktır. (çok satırlı) --%> <%-- Tek satırlı <% |
|
Bitirirken...
ASP.NET, köklü ASP'ye göre köklü değişikliklerle geldi. Bu köklü değişikliklerdeb
yazım kurallar da nasini aldı. Yazımızda, söz diziminde meydana gelen bu değişim
ve yeniliklerin bi kısmına değindik.
Yazım kuralları serimiz devam edecek. İyi çalışmalar.