Müdavim Girişi

E-Posta
Parola

Ücretsiz Kayıt Ol


Online Müdavimler (0 Kişi)
  • Online Kişi Bulunmadı

Yazar Hakkında
x
İsmail Kocacan
İsmail Kocacan is experienced on many development platforms and continues to learn technologies. Since the age of 16-17, dealing with software technologies. And continuous learning, teaching, research, continues to develop.
CheckBox Databind Problemi ve Çözümü

Merhaba arkadaslar;
Gelistirme esnasinda karsilastigim problemleri ve çözümlerini burada herkesle paylasiyorum.Bir Dert daha ?

DERT
Bir Tablom var ve tabloda Durum tipinde 1 bit lik bir alanim var.Yani bu hücrenin alabilecegi degerler ya null, ya True(1), yada False(0) degerlerinden birini alabiliyor.
Bu tablo kullanacak uygulamayi asp.net c# ile gelistirmekteyim. Tablodaki verileri datalist nesnesine asagidaki gibi çekiyorum

    public partial class CheckBoxProblemi : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!Page.IsPostBack)
            {
                this.Listele();
            }
 
        }
 
        public void Listele()
        {
            using (var dt = new DataTable())
            {
                using (var connection = new SqlConnection("server=??; database=??; user id=??; password=???"))
                {
                    connection.Open();
                    using (var command = new SqlCommand("SELECT * FROM Kisiler", connection))
                    {
                        dt.Load(command.ExecuteReader());
                        dtListe.DataSource = dt.DefaultView;
                        dtListe.DataBind();
                    }
                    connection.Close();
                }
            }
        }
    }

 

<head runat="server">
    <title>ChekBox Problemi</title>
</head>
<body>
    <form id="form1" runat="server">
        <asp:DataList ID="dtListe" runat="server">
          <ItemTemplate>
              <asp:CheckBox ID="chkAktif"
                            runat="server" 
                            Text="Aktif"
                            Checked='<%# Eval("Durum") %>'/>
          </ItemTemplate>
        </asp:DataList>
    </form>
</body>
</html>

Çekiyorum diyorum ama çekemiyorum Asagidaki hata hemen selamünaleyküm ismail diyor.
Bunun sebebi sudur CheckBox nesnesinin alabilecegi degerler ya TRUE dir yada False dur.Ama durum hücresinde Null bir deger oldugunda çevirme hatasi ile karsilasiyoruz.

'/' Uygulamasinda Sunucu Hatasi.

Belirtilen atama geçerli degil.
Açiklama: Geçerli web istegi yürütülürken islenmemis özel durum olustu. Lütfen hata ve kod içinde kaynaklandigi yer hakkinda daha fazla bilgi almak için yigin izlemesini gözden geçirin.

Özel Durum Ayrintilari: System.InvalidCastException: Belirtilen atama geçerli degil.

Kaynak Hatasi:
 
 
Satir 11:         <asp:DataList ID="dtListe" runat="server">
Satir 12:           <ItemTemplate>
Satir 13:               <asp:CheckBox ID="chkAktif" 
Satir 14:                             runat="server" 
Satir 15:                             Text="Aktif" 

 

 

 DERMAN
Bu problemi de çözmenin söyle bir yolu var.Durum hücresi hiçbir zaman null olmayacak yani ya TRUE(1) yada False(0) gireceksiniz.
Bu islemi Hücrenin Defaultvalue özelligine ya 0 yada 1 degerini aktararak çözebilirsiniz.
Herkese iyi Çalismalar
 
Ismail Kocacan (Yazilimci Bozuntusu)

Kategori : Yazılım Tasarımı | 06.01.2011 13:30:00  | 1175 defa okundu  | 0 Yorum |

Yazara Ait Diğer Makaleler(51) Makaleye Yapılan Yorumlar İlk yorum yazan siz olun
Ara
 
Anket
Hangi VeriTabanı Yönetim Sistemini Kullanıyorsunuz ?