Makale Özeti

Bu makalede üyelik formlarında İL-İLÇE ilişkisini nasıl kuracağımızı anlatmaya çalışacağım Yaptığım arama sonucunda bir arkadaşın bunu yaptığını gördüm ama ayrı bir örnek olarak post etmemin sakıncasının olmadığını düşünüyorum

Makale

Bu makale biraz örnek uygulama tadında olacak... Sitemizin üyelik sisteminde kullanabileceğimiz ve eskiden genelde javascriptle yapılan, bir sürü il/ilçe girmek zorunda kalınan ilden ilçeyi alıp seçtirme işlemini asp.net ve xml web service'leri ile nasıl kısa sürede yapabileceğimizi göstereceğim:). Hem böylece yeni il/ilçe eklendiğinde sizin değişiklik yapmanıza gerek kalmayacak:)

Hemen yeni bir proje açalım ve projemize web reference ekleyelim. Reference'ımızın adresi http://tckimlik.nvi.gov.tr/kpspublic.asmx. Web reference nameimiz biraz uzun olduğu için tckimlik yazıyoruz "add reference" diyoruz...

Daha sonra sayfamıza 1 adet buton,1 adet label ve 2 adet listbox ekleyelim.Listboxların IDlerini lbil ve lbilce yapalım... lbIl e tıkladıktan sonra properties penceresinden autopostback'i true ayarlıyoruz
İşin esas zevkli kısmına gelelim. Codebehind'ımıza geliyoruz ve

Partial Class'ımızın içine

Public ililce As New tckimlik.KPSPublicWebService

yazıp tanımlamamızı yapıyoruz...
Daha sonra lbIl control'umuz load olduğunda listenin dolması için

Protected Sub lbil_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles lbil.Load
    If Not Page.IsPostBack Then
        lbil.DataTextField = "Ad"
        lbil.DataValueField = "Kod"
        lbil.DataSource = ililce.IlListesiGetir
        lbil.DataBind()
    End If
End Sub

yazıyoruz.(ispostback'i kontrol etmemizin nedeni kontrol her yüklendiğinde tekrar dolmasını ve veriyi kaybetmemizi engellemek)

Şimdi de lbil kontrolümüzün seçili değeri değiştiğinde lbilce kontrolünü doldurmamızı sağlayacak kodu yazalım

Protected Sub lbil_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles lbil.SelectedIndexChanged
    lbilce.DataTextField = "Ad"
    lbilce.DataValueField = "Kod"
    lbilce.DataSource = ililce.IleBagliIlceListesiGetir(lbil.SelectedValue)
    lbilce.DataBind()
End Sub

En son olarak da üyelik sistemi olarak düşünürsek uygulamamızı üyeyi kayıt et demeye geldi

Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
    Dim sb As New StringBuilder
    sb.Append("Seçtiğiniz il:")
    sb.Append(lbil.SelectedItem.Text)
    sb.Append("(")
    sb.Append(lbil.SelectedValue)
    sb.AppendLine(")")
    sb.Append("Seçtiğiniz ilçe:")
    sb.Append(lbilce.SelectedItem.Text)
    sb.Append("(")
    sb.Append(lbilce.SelectedValue)
    sb.Append(")")
    lblSonuc.Text = sb.ToString.Replace(vbCrLf, "<br>" & vbCrLf)
End Sub

 

İşte sayfamızın görüntüsü :)

İyi çalışmalar
Tuna TOKSÖZ

Makalenin demosu