2010-11 YGS-LYS maratonundan dolayı blog yazarı Ali BARIN yani ben pek bi pasif durumdayım. Bu yüzden blogda sık sık yeni yazılar daha doğrusu yeni yazı göremeyeceksiniz. Bu yüzden siz blogdaki eski yazılara yorum yapıp blogu canlı tutmaya çalışın. :P Hoşçakalın, görüşmek üzere. :)
Asp.net te herhangi bir session ı sıfırlamak istersek;
session("session_ismi") = ""
gibi bir kod kullanabiliriz veya bütün sessionları sıfırlamak istersek bu kodu kullanabilirsiniz.
session.clear()
session.abandom()
Normalde formlarla birlikte methodlarını kullanıp başka sayfalarda textboxlarımızda ki değerleri veya değişkenlerimizi yazdırabiliyorduk. Şimdi form kullanmayıp session() kullanarak başka sayfalarda bilgilerimizi göstericez. Session kullanım; Örneğin “yazı” adında ve değeri “örnek yazı” olan bir sessionyapalım.
session("yazı") = "örnek yazı"
Sayfanın görsel bölümünde istediğimiz bir yerde kullanıcıya mesaj göstermemizi sağlar. Kullanıcılar label’in değerini değiştiremez.
<form id="form1" runat="server"> <asp:Label ID="Label1" runat="server" Text="örnek bir label"></asp:Label> </form>
Label içeriklerini sonradan tıklanıcak bir buton araçılığıyla falan değiştirebiliriz. Örneğin;
label.aspx.vb
Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) label1.text = "labelin değeri değişti." End Sub
label.aspx
<form id="form1" runat="server"> <asp:Label ID="Label1" runat="server" Text="Label"></asp:Label> <asp:Button ID="Button1" runat="server" onclick="Button1_Click" Text="Button" /> </form>
Bu örnekte labelin değeri butona tıklamamızla değişir.
Dizi değişkenlerden veya herhangi bir paragraf içinde joker karakterler kullanarak arama yapabiliriz. Örneğin, 5 değişkenli bir dizi değişkenimiz olsun. Ve bu değişkenlerin içinde “a” harfi geçenleri bulalım.
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Dim dizi() As String = {"ali", "veli", "ayşe", "ümit", "esra", "musa", "uur"} Dim i as integer For i = 0 To 5 If dizi(i) Like "*a*" Then Response.Write("Bulundu: " & dizi(i) & " <br />") Else Response.Write("Bulunamadi: " & dizi(i) & " <br />") End If Next End Sub
Normalde if … enf if deyimi ile eğer cümlecikleri kurardık. Şimdi ise if … end if deyimi ve joker karakterlerden biri olan yıldızı kullanıp minik bir arama motoru yaptık. “*a*” yazarak içinde “a” harfi geçen değişkenleri arattırdık. * jokeri bir veya birden fazla karakteri yerine koyup aramayı sağlar. ? jokeri ise sadece bir harf yerine geçer. Yani ikinci harfi “a” olan değişkenleri bulmak için “?a*” yapıyoruz. Sadece ilk harfi “a” olan değişkenleri bulmak için “a*” yapıyoruz. Like “*a*” bölümünü kendinize göre düzenleyip, özelleştirebilirsiniz.
Eğer sitenizde Asp.NET kodları ile rastgele yazılar göstermek istiyorsanız aşağıdaki kod betiğini kullanabilirsiniz.
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) ' sayfa açıldığında direk ekrana yazdırılması için. ' Kodlayan: Ali BARIN ~ webogrencisi.com ¤ accikdesign.com Dim r1, r2 As Integer ' Değişkenler tanımlandı Session("sayfa") = Session("sayfa") + 1 ' Tarayıcı kapatılmadan sayfaya kaç kez girildiği sayılıyor Dim sozler() As String = {"", "rastgele yazı1", "rastgele yazı2", "rastgele yazı3", "rastgele yazı4", "rastgele yazı5"} ' ilk değer boş çünkü oluşturduğumuz sayılarda "0" değeri çıkmıyor. bizde birincisini boş bırakıp diğerlerine rastgele yazılarımızı yazdık. If Session("sayfa") > 1 Then ' Sayfaya tarayıcı kapatılmadan önce bir kez daha girildiyse bu bölüm uygulanır. Randomize() r2 = Int((5 * Rnd()) + 1) ' sozler() bölümünde kaç tane yazı varsa "5" sayısını onunla değiştirin.. ( boş olan değeride sayın ) While Session("rastgele_yazi") = r2 ' bir önceki sayı ile aynıysa yeni sayı üretiliyor Randomize() r2 = Int((5 * Rnd()) + 1) ' sozler() bölümünde kaç tane yazı varsa "5" sayısını onunla değiştirin.. ( boş olan değeride sayın ) End While Session("sayfa") = r2 Response.Write("Rastgele yazı: " & sozler(r2)) ' rastgele yazımız yazdırıldı. Else ' Eğer sayfaya ilk kez giriliyorsa bu bölüm uygulanır. Randomize() ' yeni sayı üretildi r1 = Int((5 * Rnd()) + 1) ' sozler() bölümünde kaç tane yazı varsa "5" sayısını onunla değiştirin.. ( boş olan değeride sayın ) Session("rastgele_yazi") = r1 Response.Write("Rastgele yazı: " & sozler(r1)) ' rastgele yazımız yazdırıldı. End If End Sub
Kod betiğinde ‘ işaretinden sonra ki yerler yorum yazılarıdır. Yorum satırları ile gerekli yerler açıklanmıştır. Örnek dosyaya buradan ulaşabilirsiniz.
Not: Örnek dosya indirilmek için verilmiştir.
Konu: Asp.Net – alt programlar
Bir eylemi yerine getirmek için kullanılan, ana programa değer göndermeyen işlemlere VB.NET’te alt programlar (subroutine) adı verilir. Kullanım:
Sub (isim) [parametreler] (kodlar) End Sub
Alt program oluşturma işlemi Subroutine kelimesinin kısaltılmış hâli olan Sub kelimesiyle başlar. Ardından alt programın ismi yazılır ve istenirse parantez içerisinde parametreler belirtilir. Parametreler sayesinde ana programdan veriler alt programa aktarılır. Parametre kullanımı zorunlu değildir. Son olarak kodlar yazılır ve end sub ifadesiyle alt program sonlandırılır.
Fark ettiyseniz bundan önceki tüm derslerimizde alt programları kullandık.
sub page_load(obj as object, e as eventargs) ... end sub
Bu satırlar tanıdık geliyordur. (: Örneğin en basitinden onClick=”buton_program” olan butona tıklayıp ekrana “Merhaba Dünya!” yazdırıcak bir örnek yapalım.
<script language="vb" runat="server"> sub buton_program(obj as object, e as eventargs) response.write("Merhaba Dünya") end sub </script> <html> <body> <form runat="server"> <asp:button id="buton1" text="Buton" onclick="buton_program" runat="server"/> </form> </body> </html>
Not: Eğer & lt; veya & gt; gibi yazılar görüyorsanız bunları şunlarla değiştirmeniz gerekmektedir. & lt; = < ve & gt; = > .
Not 2: Örnek kodlarda ki html etiketlerinde küçüktür işaretinden sonra boşluk bulunmaktadır. Kodları kullanırken boşlukları silmeniz gerekmektedir
Konu: For … Next döngüsünden sonra ki ikinci döngümüz olan while … end while döngüsü.
Döngünün kaç defa gerçekleşeceği bilinmediğinde for…next deyimi kullanılamaz. Böyle durumlarda diğer döngü komutları tercih edilir. Bu komutlardan olan While…End While deyimi bir şart doğru olduğu sürece bir işlemi gerçekleştirmeyi sağlar. Kullanımı:
While (şart) (uygulanacak komutlar) end while
While … End While deyimi ile ilgili bir örnek yapalım. “i” değişkenimiz olsun i değişkinimiz 10 olana kadar döngümüz dönsün ve her seferinde “i” değişkeninin değerini ekrana yazdıralım.
dim i as integer while i < 10 response.write(i) i = i + 1 end while
Döngü içinde i değerini her seferinde bir arttırıyoruz. Çünkü döngünün bitmesi gerek ve bitmezse sonsuz döngüye girer ve bilgisayarı tıkayabilir.
Konu: IF … Then deyimine benzyen Select Case deyimi.
Bu yazıda size bir değişkenin aldığı değere göre sonuçları uygulayan Select Case deyimini göstericem. Kullanım
Select Case (değişken) Case (değer1) (sonuç 1) case (değer2) (sonuç 2) case (değer3) (sonuç 3) case else (değilse sonuç) end select
Bir önceki ElseIF yazısındaki örneğin aynısını yapalım yine bir puan sistemi yapalım. Bir textbox bir butonumuz olsun. Her zaman ki gibi butonumuz kod bölümüne aşağıdakileri yazalım.
dim puan as integer = textbox1.text select case puan case puan < 25 response.write("0") case puan < 45 response.write("1") case puan < 55 response.write("2") case puan < 70 response.write("3") case puan < 85 response.write("4") case else response.write("5") end select
Not: Eğer & lt; veya & gt; gibi yazılar görüyorsanız bunları şunlarla değiştirmeniz gerekmektedir. & lt; = < ve & gt; = > .
Not 2: Örnek kodlarda ki html etiketlerinde küçüktür işaretinden sonra boşluk bulunmaktadır. Kodları kullanırken boşlukları silmeniz gerekmektedir
Konu: Asp.NET ve Else IF deyimi
Bir önceki derste IF .. Then … Else deyimini anlattım. Şimdi sırada birden çok şartlı, sonuçlu Elseif deyimini anlatıcam. Kullanım:
IF (şart1) then sonuç1 elseif (şart2) then sonuç2 elseif (şart3) then sonuç3 else değilse sonuç end if
Gelin öğrenci not sistemi yapalım. Eğer öğrenci notu 25 den aşağı ise 0, 45 den aşağı ise 1, 55 den aşağı ise 2, 70 den aşağı ise 3, 85 den aşağı ise 4 değilse 5 yazsın. Yine bir textbox bir butonumuz olsun. Alttaki kod bütünlüğünü butonun click ine ekleyin.
dim puan as integer = textbox1.text if puan < 25 then response.write("0") elseif puan < 45 then response.write("1") elseif puan < 55 then response.write("2") elseif puan < 70 then response.write("3") elseif puan < 85 then response.write("4") else response.write("5") end if
Not: Eğer & lt; veya & gt; gibi yazılar görüyorsanız bunları şunlarla değiştirmeniz gerekmektedir. & lt; = < ve & gt; = > .
Not 2: Örnek kodlarda ki html etiketlerinde küçüktür işaretinden sonra boşluk bulunmaktadır. Kodları kullanırken boşlukları silmeniz gerekmektedir
Konu: Asp.Net ve VB ile kullanılan IF … Then yani Eğer deyimi
Bildiğiniz üzere basit bir eğer işleminde iki sonuç olur. Birincisi evet hayır. Biz en basitinden giricez ve size bunu anlatıcam. Kullanımı:
IF (şart) then sonuç1 else sonuç2 end if
Şöyle bir örnek yapalım. Bir textbox ımız olsun. textbox ına ad girilmesi gerekli olsun. Girilmediği takdirde ekrana ‘lütfen boş bırakmayınız’ yazsın. Eğer doldurursa hosgeldiniz.aspx e yönlendirsin. İlk önce sayfamıza bir textbox ve buton ekliyoruz. Textbox ımızın ID sini değiştirmiyoruz yani textbox1 olarak kalıyoruz. Butonumuzunki de button1 olarak kalıyor. Button1 ‘imize çift tıklayıp asp.net kod bölümü açıyoruz ve aşağıdaki kodları yazıyoruz. Bunları butonun click ine yazmamız gerek çünkü işlem butona tıklandığında yapılıcaktır.
If TextBox1.Text = "" then Response.Write("lütfen boş bırakmayınız.") Else Response.Redirect("hosgeldiniz.aspx") End If
Not: Butona tıkladığınızda hata sayfası ile karşılaşabilirsiniz. Çünkü büyük ihtimal deneme yaptığınız dizinde hosgeldiniz.aspx yoktur.







