Çözüldü C# ASP.NET DropDownList problemi

Bu konu çözüldü olarak işaretlenmiştir. Çözülmediğini düşünüyorsanız konuyu rapor edebilirsiniz.

cagriisik

Hectopat
Katılım
12 Mayıs 2020
Mesajlar
345
Arkadaşlar merhaba. Ben şöyle bir proje yapmaya çalışıyorum: 2 tane ülke olacak. Bu iki ülkeden birine tıkladığımda, o ülkenin illerini seçebileceğim ve o ilin ilçesini de seçeceğim. Fakat denediğimde 2 ülke ekledim ve Türkiye olarak listelediğimde düzgün bir şekilde sonuç alıyorum. Almanya'yı seçtiğimdeyse ilçe kısmında herhangi bir şey gözükmüyor. Ekteki ilgili fotoğrafları incelemenizi rica ediyorum. Yardımcı olursanız çok sevinirim.
 

Dosya Ekleri

  • r2.png
    r2.png
    6,4 KB · Görüntüleme: 29
  • r1.png
    r1.png
    7,9 KB · Görüntüleme: 21
  • command.png
    command.png
    83,4 KB · Görüntüleme: 25
Çözüm
Kullanmıyorum ya, teşekkür ederim :D Sorununuzu çözebildiniz mi bu şekilde?

Kod:
else if (ilDropDownList.SelectedIndex == 0 && ulkeDropDownList.SelectedIndex == 1) // il 0 yani Berlin, ülke 1 yani Almanya
{
    ilceDropDownList.Items.Add("Berlin İlçe 1");
    ilceDropDownList.Items.Add("Berlin İlçe 2");
}
else if (ilDropDownList.SelectedIndex == 1 && ulkeDropDownList.SelectedIndex == 1) // il 1 yani Köln, ülke 1 yani Almanya
{
    ilceDropDownList.Items.Add("Köln İlçe 1");
    ilceDropDownList.Items.Add("Köln İlçe 2");
}
Öncelikle gözünüzün önündeki uyarıyı bile görmediğiniz için uzun süredir bilgisayar başında olduğunuzu tahmin ediyorum. Kalkın; biraz yürüyün, hem zihniniz hem ayaklarınız açılır. Sonra koda tekrar bakarız.
Eki Görüntüle 1775521
Biraz öyle oldu hocam,
namespace WebApplication4
{
public partial class WebForm1 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
ulkeDropDownList.Items.Add("Türkiye");
ulkeDropDownList.Items.Add("Almanya");
}

}

protected void ulkeDropDownList_SelectedIndexChanged(object sender, EventArgs e)
{
ilDropDownList.Items.Clear();
ilceDropDownList.Items.Clear();
if (ulkeDropDownList.SelectedIndex == 0)
{
ilDropDownList.Items.Add("İstanbul");
ilDropDownList.Items.Add("Sakarya");

}
if (ulkeDropDownList.SelectedIndex == 1)
{
ilDropDownList.Items.Add("Berlin");
ilDropDownList.Items.Add("Köln");
}
}

protected void ilDropDownList_SelectedIndexChanged(object sender, EventArgs e)
{
ilceDropDownList.Items.Clear();

if (ilDropDownList.SelectedIndex == 0 && ulkeDropDownList.SelectedIndex == 0) // il 0 yani istanbul, ülke 0 yani türkiye
{
ilceDropDownList.Items.Add("Tuzla");
ilceDropDownList.Items.Add("Maltepe");

}
if (ilDropDownList.SelectedIndex == 1 && ulkeDropDownList.SelectedIndex==0 ) // il 1 yani sakarya, ülke 0 yani türkiye
{
ilceDropDownList.Items.Add("Serdivan");
ilceDropDownList.Items.Add("Karasu");
}
if (ilDropDownList.SelectedIndex == 2 && ulkeDropDownList.SelectedIndex == 1)// il 2 yani berlin, ülke 1 yani almanya
{
ilceDropDownList.Items.Add("berlinilce1");
ilceDropDownList.Items.Add("berlinilce2");
}
if (ilDropDownList.SelectedIndex == 3 && ulkeDropDownList.SelectedIndex == 1)// il 3 yani berlin, ülke 1 yani almanya
{
ilceDropDownList.Items.Add("kölnilce1");
ilceDropDownList.Items.Add("kölnilce2");
}
}
}
}
 
Kodu kod bloğu olarak atın birdahaki sefere.

Sorunun sebebi büyük ihtimalle yanlış index belirtmenizden kaynaklanıyor. Bakın tam şurada:
Kod:
if (ilDropDownList.SelectedIndex == 2 && ulkeDropDownList.SelectedIndex == 1)// il 2 yani berlin, ülke 1 yani almanya
{
ilceDropDownList.Items.Add("berlinilce1");
ilceDropDownList.Items.Add("berlinilce2");
}
if (ilDropDownList.SelectedIndex == 3 && ulkeDropDownList.SelectedIndex == 1)// il 3 yani berlin, ülke 1 yani almanya
{
ilceDropDownList.Items.Add("kölnilce1");
ilceDropDownList.Items.Add("kölnilce2");
}

ildeDropDownList'i şurada dolduruyorsunuz:

Kod:
if (ulkeDropDownList.SelectedIndex == 0)
{
ilDropDownList.Items.Add("İstanbul");
ilDropDownList.Items.Add("Sakarya");

}
if (ulkeDropDownList.SelectedIndex == 1)
{
ilDropDownList.Items.Add("Berlin");
ilDropDownList.Items.Add("Köln");
}
}
Siz burda diğer if in içine girdiniz diye index 2 - 3 diye devam etmeyecek. Berlin için de sıfırdan başlamanız lazım saymaya.

Dediğim gibi. Arada mola vermek iyidir. Yazılım dikkat işi bir tıkta, bol dikkatler :D.
 
Son düzenleme:
Kullanmıyorum ya, teşekkür ederim :D Sorununuzu çözebildiniz mi bu şekilde?

Kod:
else if (ilDropDownList.SelectedIndex == 0 && ulkeDropDownList.SelectedIndex == 1) // il 0 yani Berlin, ülke 1 yani Almanya
{
    ilceDropDownList.Items.Add("Berlin İlçe 1");
    ilceDropDownList.Items.Add("Berlin İlçe 2");
}
else if (ilDropDownList.SelectedIndex == 1 && ulkeDropDownList.SelectedIndex == 1) // il 1 yani Köln, ülke 1 yani Almanya
{
    ilceDropDownList.Items.Add("Köln İlçe 1");
    ilceDropDownList.Items.Add("Köln İlçe 2");
}
 
Çözüm
Kullanmıyorum ya, teşekkür ederim :D Sorununuzu çözebildiniz mi bu şekilde?

Kod:
else if (ilDropDownList.SelectedIndex == 0 && ulkeDropDownList.SelectedIndex == 1) // il 0 yani Berlin, ülke 1 yani Almanya
{
    ilceDropDownList.Items.Add("Berlin İlçe 1");
    ilceDropDownList.Items.Add("Berlin İlçe 2");
}
else if (ilDropDownList.SelectedIndex == 1 && ulkeDropDownList.SelectedIndex == 1) // il 1 yani Köln, ülke 1 yani Almanya
{
    ilceDropDownList.Items.Add("Köln İlçe 1");
    ilceDropDownList.Items.Add("Köln İlçe 2");
}
Düzeldi ama beynim durdu :). Ben biraz kendim yorumlayayım. Çok teşekkür ederim bu saatte ilgilendiğiniz, vakit ayırdığınız için.
 

Yeni konular

Geri
Yukarı