34 messaggi dal 13 gennaio 2006
Ho un form dove all'interno di un oggetto calendar ho inserito alcuni controlli, generati dinamicamente da una sub richiamata dall'evento onDayRender e aggiunti all'oggetto con l'istruzione e.Cell.Controls.Add(tabella), con e As DayRenderEventArgs.
Fin qui tutto bene, ma una volta generati, non riesco più ad accedervi con findcontrol, cercando mi risulta che non ci siano proprio controlli all'interno dell'oggetto calendar.
Ho il sospetto che ci sia un errore concettuale, forse i controlli generati dinamicamente vanno rigenerati ogni postback della pagina?
Quindi eventuali valori inseriti vanno persi ?
E' possibile in qualche modo gestire Calendar come un contenitore di controlli ?

Grazie per ogni eventuale suggerimento.

Nick
a livello concettuale ad ogni richiesta della pagina i controlli vanno ricreati (asp.net fa la solita cosa con quelli dichiarati nella pagina) a ogni richiesta.

i valori, anche dei controlli aggiunti runtime non vanno persi, appatto che siano ricreati rispettando i nomi e la gerarchia della precedente richiesta.

non so se sono stato chiaro, ma se hai altre domande siamo quà

ciao marco

Chi parla senza modestia troverà difficile rendere buone le proprie parole.
Confucio

http://nostromo.spaces.live.com/default.aspx
34 messaggi dal 13 gennaio 2006
Parlando in codicese. La Sub su onDayRender fa più o meno questo.
(tipo http://www.aspitalia.com/script/543/Personalizzare-Contenuto-Celle-Calendar.aspx)

' creo tabella
Dim tabella As Table = New Table()
tabella.ID = "tb_" & Replace(e.Day.Date, "/", "")

Dim close As Button = New Button()
close.ID = "lc_" & e.Day.Date
close.Text = "chiudi"
close.CommandArgument = "ciao"
AddHandler close.Click, AddressOf Chiudi
...
e.Cell.Controls.Add(tabella)
e.Cell.Controls.Add(close)

L'intenzione è di aggiungere alla cella dell'oggetto calendar dei controlli che vadano ad interagire con l'utente, textbox, button, speravo di poterci lavorare come se fossero controlli all'interno di un datagrid o qualche altro contenitore.
In visualizzazione tutto ok.
Ma se cerco di accedere ai controlli con findcontrol per salvare eventuali valori inputati non riesco, mycalendar.Controls.Count è uguale a 0.
Eventuali sub associate come sopra a eventi non vengono eseguite.

L'idea sostanzialmente è quella di salvare dati inputati in textbox nelle celle tramite il gestore dell'evento onclick di un button sempre all'interno della cella. Come si può fare ?
34 messaggi dal 13 gennaio 2006
Ok, credo di essermi rissposto da solo: non si puo fare.

Da msdn: http://msdn2.microsoft.com/it-it/library/system.web.ui.webcontrols.calendar.dayrender.aspx

Poiché l'evento DayRender viene generato mentre è in corso la visualizzazione del controllo Calendar, non è possibile aggiungere un altro controllo in grado di generare un evento, ad esempio LinkButton. È possibile aggiungere solo controlli statici, ad esempio System.Web.UI.LiteralControl, Label , Image e HyperLink.

Grazie lo stesso

Nick
non ricordavo questa limitazione del controllo Calendar, bene a sapersi.

ciao marco
Modificato da nostromo il 30 agosto 2006 16.32 -

Chi parla senza modestia troverà difficile rendere buone le proprie parole.
Confucio

http://nostromo.spaces.live.com/default.aspx

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.