Bind su checkbox

martedì 25 agosto 2009 - 12.29

beppesan Profilo | Newbie

Ciao a tutti,
ho un DetailsView
con all'interno il seguente codice per la gestione del campo "newsletter" (che nella tabella Access è di tipo Testo):

<asp:TemplateField HeaderText="Iscritto alla Newsletter?">
<InsertItemTemplate>
<asp:CheckBox ID="checkbox1" runat="server"
Checked='<%#bind("newsletter")%>'>
</asp:CheckBox>
</InsertItemTemplate>
<EditItemTemplate>
<asp:CheckBox ID="checkbox1" runat="server"
Checked='<%#bind("newsletter")%>'>
</asp:CheckBox>
</EditItemTemplate>
<ItemTemplate>
<asp:Label ID="Label1" runat="server" Text='<%#bind("newsletter")%>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>


A quanto pare il bind sul campo checkbox non funziona correttamete... avete idee su come si possa risolvere?
Grazie & Ciao!
Beppesan
work: http://www.beppesan.it
hobby: http://www.birraiolo.it

Gluck74 Profilo | Guru

La proprietà Checked di un CheckBox è un valore booleano. Quindi devo controllare il valore che ti ritorna la colonna newsletter dalla tabella ed assegnare il valore true o false alla proprietà del controllo.
Puoi fare questa operazione nell'evento DataBound del DetailsView, ovvero nel momento in cui il controllo deve caricare i dati nei suoi childControls.

protected void DetailsView1_DataBound(object sender, EventArgs e) { CheckBox chk = (CheckBox)((DetailsView)sender).FindControl("checkbox1"); DataRowView rowView = (DataRowView)((DetailsView)sender).DataItem; string newsValue = rowView["newsletter"].ToString(); if (chk != null) { if (newsValue == "quello che miserve") chk.Checked = true; } }
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5