Check Box in repeter

domenica 10 giugno 2012 - 12.53

jeppe1000 Profilo | Newbie

Ciao a tutti, vorrei creare una lista di check box utilizzando il repeter, ma trovo dei problemi e vorrei un aiuto:

Inzialmente ho creato il repeter;

<asp:Repeter runat="server" ID="rpt" OnItemDataBound="rpt_OnItemDataBound">
<ItemTemplate>
.primo dubbio, utilizzo il tago asp: <asp:CheckBox id="cb" runat="server"> oppure utlizzo il semplice tag html <input type="checkbox" id="cb">

...chiusura tutti i tag;




Ora nel code codebehind [C#]:

protected void Page_Load(object sender, EventArgs e) {

if(!IsPostBack ) {
rpt.DataSource = Database.getClasseX; (restituisco una lista di oggetti della classe x, dotati di nome ed id)
rpt.DataBind();
}
}

protected void repeater1_OnItemDataBound(Object sender, RepeaterItemEventArgs e) {
if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem) {
ClasseX ogg = (ClasseX)e.Item.DataItem;
Checkbox c= (Checkbox)e.Item.FindControl("cb") !! qui penso sia il primo errore

A questo punto vorrei associare ad ogni checkbox il testo pari al nome dell'oggetto della ClasseX e ad esempio il valore pari all'id;

c.Text=ogg.Nome;
. per associare il valore pari all'id come faccio?????

inoltre come posso poi prelevare i due campi (text, id) nel modo piu efficiente possibile da tutti i check box selezionati???? io avrei trovato questa istruzione : request.form("ck");

}
}


vi ringrazio in anticipo.

Gluck74 Profilo | Guru

ps: usa il tag [+code+] per la prissima, grazie.


per questo caso, potresti utilizzare una CheckBoxList invecie di un repeater:
<asp:CheckBoxList runat="server" id="cklist" DataTextField="Nome" DataValueField="id" />
if(!IsPostBack ) { this.cklist.DataSource = Database.getClasseX(); this.cklist.DataBind(); }
foreach (ListItem item in ckList.Items) { if(items.Selected) { //posso usare Item.Value e item.Text } }

____________
http://glucolo.wordpress.com
Ricordati di utilizzare il tasto "Accetta" se i nostri consigli ti sono serviti a risolvere il problema.
È il modo per ringraziare chi ti ha aiutato.
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-2017
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5