Merhaba
Öncelikle bir veritabanınız , bir birine ilişkili il ve ilçe tablonuz varsayarak ve de üye tablonuzun bu üye tablosunda il ve ilce alanınızın olduğunu il_id ve ilce_id lerini bu alanlarda tuttuğunuzu varsayarak yazıma başlıyorum.
Sayfamıza iki adet Dropdownlist atıyoruz. Birincisi iller ikincisi ilçeleri gösterecek şekilde,
iki kontrolünde autopostback lerini true yapıyoruz.
Sayfa Yüklenme Load Cs tarafı
if (cekuye.FirstOrDefault() != null)
{
var cek_il = from ils in baglanti.TbKonum_ils
orderby ils.SehirAdi ascending
select new
{
ils.SehirId,
ils.SehirAdi
};
DDil.DataSource = cek_il;
DDil.DataTextField = "SehirAdi";
DDil.DataValueField = "SehirId";
DDil.DataBind();
// illeri ddil dropdownlist imize doldurduk
DDil.SelectedValue = cekuye.FirstOrDefault().il.ToString();
// ve üye tablosundan il idsini alarak seçili hale getiriyoruz.
var cek_ilce = from ilces in baglanti.TbKonum_ilces
where ilces.SehirId == Convert.ToInt32(DDil.SelectedValue.ToString())
// bura önemli where sorgusu çekiyoruz uyenin ilinin idsini alarak sorguyu daraltıyoruz.
orderby ilces.SehirAdi ascending
select new
{
ilces.IlceAdi,
ilces.ilceId,
ilces.SehirId
};
DDilce.DataSource = cek_ilce;
DDilce.DataTextField = "IlceAdi";
DDilce.DataValueField = "ilceId";
DDilce.DataBind();
// ilceleri ddilce dropdownlist imize doldurduk
DDilce.SelectedValue = cekuye.FirstOrDefault().ilce.ToString();
// ve üye tablosundan ilce idsini alarak seçili hale getiriyoruz.
İl dropdownlist ine tıklanınca veya seçilince ilgili ilçeleri doldurma
protected void DDil_SelectedIndexChanged(object sender, EventArgs e)
{
var cek_ilce = from ilces in baglanti.TbKonum_ilces
where ilces.SehirId == Convert.ToInt32(DDil.SelectedValue.ToString())
orderby ilces.IlceAdi ascending
select new
{
ilces.IlceAdi,
ilces.ilceId,
};
DDilce.DataSource = cek_ilce;
DDilce.DataTextField = "IlceAdi";
DDilce.DataValueField = "ilceId";
DDilce.DataBind();
}
{
var cek_ilce = from ilces in baglanti.TbKonum_ilces
where ilces.SehirId == Convert.ToInt32(DDil.SelectedValue.ToString())
orderby ilces.IlceAdi ascending
select new
{
ilces.IlceAdi,
ilces.ilceId,
};
DDilce.DataSource = cek_ilce;
DDilce.DataTextField = "IlceAdi";
DDilce.DataValueField = "ilceId";
DDilce.DataBind();
}
şeklinde kullanıcı il dropdownlist tıklayınca ilçe doldurma kısmı başarı ile büyük uğraşlar sonucunda tamamlanmıştır.Kayıt etme update gibi işlemlerde aşağıdaki kodu kullanabilirsiniz. LinqDataSource kullanmayın bu metotda geçerli değil sayfanın loadı ile çakışmaktadır.
TbUyeler uyebilgidegistir = baglanti.TbUyelers.First(aa => aa.uyeid == Convert.ToInt32(Session["uyeid"].ToString()));
uyebilgidegistir.adi = Txt_Adi.Text;
uyebilgidegistir.soyadi = Txt_Soyadi.Text;
uyebilgidegistir.mail = Txt_Mail.Text;
uyebilgidegistir.adres = Txt_Adres.Text;
uyebilgidegistir.tel = Txt_Tel.Text;
uyebilgidegistir.il = Convert.ToInt32(DDil.SelectedValue.ToString());
uyebilgidegistir.ilce = Convert.ToInt32(DDilce.SelectedValue.ToString());
baglanti.SubmitChanges();
uyebilgidegistir.adi = Txt_Adi.Text;
uyebilgidegistir.soyadi = Txt_Soyadi.Text;
uyebilgidegistir.mail = Txt_Mail.Text;
uyebilgidegistir.adres = Txt_Adres.Text;
uyebilgidegistir.tel = Txt_Tel.Text;
uyebilgidegistir.il = Convert.ToInt32(DDil.SelectedValue.ToString());
uyebilgidegistir.ilce = Convert.ToInt32(DDilce.SelectedValue.ToString());
baglanti.SubmitChanges();
Hocam eline sağlık güzel makale olmuş. Benim sorum İl ve ilçe seçiminden sonra mahalle seçimini nasıl getirebiliriz.
YanıtlaSilBu konuda yardımcı olabilir misiniz ?