C# ve türevli Asp.NET projelerimizde birçok durumda kontrollere ihtiyaç duymaktayız. Bazı kullanım senaryoları şöyle olabilir.
- Doğru-Yanlış durumlar (Ör: Öğrenci misiniz? Evet-Hayır)
- Birden fazla seçim yapmak (Ör: Hobileriniz nelerdir? Futbol-Voleybol-Basketbol)
- Gelen durumları tekli sonuca ayırmak (Ör: Yaşınız aşağıdakilerden hangisidir? 25-26-27-28)
CheckBox
Genel olarak statik olarak eklediğimiz bir yapıdır. Son kullanıcıya bool seçim yaptırmak için kullanıyoruz. Örnek verecek olursak “SMS bilgi almak ister misiniz?” gibi. İki sonuçtan birini seçtirebileceğimiz bir kontroldür.
CheckBox Kullanımı
Sayfamıza Visual Toolbox üzerinden veriyi çekip sayfamızda istediğimiz kod aralığına ekliyoruz. Kodlarımız söyle;
<asp:checkbox id="CheckBox1" runat="server" oncheckedchanged="CheckBox1_CheckedChanged"></asp:checkbox>CheckBox kontrolü için Checked_Changed() eventini Code-Behind(.cs)’da su şekilde kullanıyoruz.
protected void CheckBox1_CheckedChanged(object sender, EventArgs e)
{
// Sizin fonksiyonal kodlariniz
if (CheckBox1.Checked)
CheckBox1.Checked = false;
else
CheckBox1.Checked = true;
}CheckBoxList
Son kullanıcıya çoklu seçim yaptırmak, veya çok seçim içerisinden bir seçim yaptırmak istersek bu yapıyı kullanmamız gerekebilir.
CheckBoxList Kullanımı
Sayfamıza Visual Toolbox’dan istediğimiz kod kısmına söyle ekliyoruz
<asp:CheckBoxList ID="CheckBoxList1" runat="server" OnSelectedIndexChanged="CheckBoxList1_SelectedIndexChanged"></asp:CheckBoxList>CheckBoxList kontrolünü Code-Behind kısmına şu şekilde kullanıyoruz
protected void Page_Load(object sender, EventArgs e)
{
Doldur();
}
private void Doldur()
{
ListItem item = new ListItem();
item.Text = "Deneme 1";
item.Value = "1";
// döngü veya manual
CheckBoxList1.Items.Add(item);
}
Checkbox üzerinde yapılan seçimleri alalım, aşağıdaki kodlar basit bir string üzerine veya daha işlevsel List üzerine aktaralım,
protected void CheckBoxList1_SelectedIndexChanged(object sender, EventArgs e)
{
// Bir string üzerine alalim
string Secilen = string.Empty;
for(int i=0; i < CheckBoxList1.Items.Count; i++)
{
if (CheckBoxList1.Items[i].Selected)
{
Secilen += CheckBoxList1.Items[i].Value +",";
}
}
//Bir List üzerine alalim
List<ListItem> selected = new List<ListItem>();
foreach (ListItem item in CheckBoxList1.Items)
if (item.Selected) selected.Add(item);
}
Bazen CheckBoxList’den seçilen ilk öge için işlem gerekebilir, bu durumda:
protected void CheckBoxList1_SelectedIndexChanged(object sender, EventArgs e)
{
string Secilen = string.Empty;
string Aktar = Request.Form["__EVENTTARGET"];
string[] GelAyrac = Aktar.Split('$');
int basla = int.Parse(GelAyrac[GelAyrac.Length - 1]);
if (CheckBoxList1.Items[basla].Selected)
{
Secilen = CheckBoxList1.Items[basla].Value;
// seçili olan öge işlemleri
}
else
{
Secilen = CheckBoxList1.Items[basla].Value;
// seçili olmayan öge işlemleri
}
}
Bu eleman hakkında farklı ihtiyaçlar olursa, yorum olarak eklerseniz bu konu üzerine eklerim.







