evcil.net noktanın egemenliği

206 / 020

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 %>

<%
Next %>

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:

NOT
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.

NOT
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ı
--%>

<%
' Dile özgü yorumlama kullanımı da mümkün.
' VB.NET yorum satırı
%>


' VB.NET yorum satırı
Sub Page_Load()
' VB.NET Yorum Satırı
End Sub

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.

Yazan: Muhammed C. Tahiroğlu

No description. Please complete your profile.
Comments (0) Trackbacks (0)

No comments yet.


Leave a comment


No trackbacks yet.

Sayfalar

Kısımlar

Desteklediklerimiz

Ay bazında arşiv

Haberleşme