27 messaggi dal 07 gennaio 2008
Ciao a tutti, ho un problema.

Io sto istanziando tutti oggetti asp da codice c#.

In questo caso se all'interno di una grid view io ho:
...
<asp:TemplateField>
  <ItemTemplate>
    <asp:LinkButton ID="LinkButton1" runat="server" 
          Text="<%#Eval(\"" + myField + "\")%>" />
   </ItemTemplate>
</asp:TemplateField>
...


Per ottenere da codice una cosa del genere cosa devo fare? Io ho provato con questa soluzione ma...

TemplateField tField = new TemplateField();
 ...
LinkButton LinkButton1 = new LinkButton();
LinkButton1.ID = "LinkButton" + i;
LinkButton1.Text = "<%#Eval(\"" + myField + "\")%>";
tField.ItemTemplate.InstantiateIn(LinkButton1);

L'ultima riga mi da errore... mi dice, giustamente che itemTemplate è nullo, ma non riesco a capire cosa devo fare?

Per favore aiutatemi è sono giorni che ci sbatto la testa.

Grazie a tutti

Il Dio di questa gente ha mostrato loro con milioni di azioni di non rispettare alcuno dei comandamenti della Bibbia. Egli li viola uno per uno, adulterio e tutto il resto.

(Mark Twain)
in questa discussione puoi trovare qualche spunto

http://forum.aspitalia.com/forum/post/279673/Creare-Template-Codice-Controllo-Repeater-Come.aspx

ciao marco

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

http://nostromo.spaces.live.com/default.aspx
27 messaggi dal 07 gennaio 2008
Purtroppo non c'ho capito un granchè... sorry...
Ho inoltrato la mia richiesta a quel post, anche se un pò datato, nella speranza che qualcuno mi risponda.

Grazie ancora.

Il Dio di questa gente ha mostrato loro con milioni di azioni di non rispettare alcuno dei comandamenti della Bibbia. Egli li viola uno per uno, adulterio e tutto il resto.

(Mark Twain)
27 messaggi dal 07 gennaio 2008
ok sono uno stupido... ho risolto creando una classe interna che implementasse ITemplate... ed il gioco era pure semplice... ora però non riesco a bindarmi con il mio campo... come faccio? ovvero...

 //////////////////////////
        //   Classi specifiche  //
        //////////////////////////

        //Rappresenta il template della gridView 
        //-per il link (LinkButton) 
        public class MyContainer : ITemplate
        {
            private myDelegate dlg;
            private String ID_LinkButton = "";
            private String myField = "";

            public MyContainer(myDelegate dlgTemp, String myField, String ID_LinkButton)
            {
                this.dlg = dlgTemp;
                this.ID_LinkButton = ID_LinkButton;
                this.myField = myField;
            }

            public void InstantiateIn(Control container)
            {
                LinkButton myLinkButton = new LinkButton();
                myLinkButton.ToolTip = "Clicca qui per aprire la finestra di    
                                        dettaglio";
                myLinkButton.ID = ID_LinkButton;

                myLinkButton.Click += new EventHandler(dlg);

// !!!!!!!!!!!  IL MIO PROBLEMA SI TROVA QUI !!!!!!!!!!!  
                myLinkButton.Text = 

// Questo è quello che scriverei in asp
<LinkButton ID=.... Text = <%# Eval(myField)%> .... />

                
                DataBinder.Eval( ??????  , myField).ToString();
               

                container.Controls.Add(myLinkButton);
            }
        }


Ho trovato DataBinder.Eval come metodo ma richiede un object che non sono riuscito bene a identificare...

HELP

Il Dio di questa gente ha mostrato loro con milioni di azioni di non rispettare alcuno dei comandamenti della Bibbia. Egli li viola uno per uno, adulterio e tutto il resto.

(Mark Twain)
registrati per l'evento DataBinding LinkButton, dai un occhiata quà:

http://msdn.microsoft.com/en-us/library/ms178657.aspx

ciao marco

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

http://nostromo.spaces.live.com/default.aspx
27 messaggi dal 07 gennaio 2008
Mi dispiace marco... ma a me serve esattamente il contrario...
Io non devo prelevare l'informazione... io sto creando la struttura di una gridView a runtime... quindi i valori per me non sono importanti.. piuttosto mi serve di impostare il campo della colonna della mia gridView...

Mentre il metodo databinding dell'oggetto Label nell'esempio, lavoro esattamente al contrario... in più nell'esempioè chiaro che lui prima scrive in asp...

Grazie mille marco.
Modificato da damon.guest il 05 maggio 2008 11.38 -

Il Dio di questa gente ha mostrato loro con milioni di azioni di non rispettare alcuno dei comandamenti della Bibbia. Egli li viola uno per uno, adulterio e tutto il resto.

(Mark Twain)
mi spiace ma non ho capito.

da cosa deve dipendere il valore da assegnare myLinkButton.Text ?

se deve dipendere da un campo della sorgente dati il posto giusto è gestire il DataBind

ciao marco

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

http://nostromo.spaces.live.com/default.aspx
27 messaggi dal 07 gennaio 2008
Poichè l'oggetto della discussione ha raggiunto il suo obiettivo grazie a te, e non voglio creare ambiguità per chi un giorno volesse leggere questo post, ho preferito riaprire una nuova discussione:
http://forum.aspitalia.com/forum/post/322816/Data-Bound-Runtime.aspx

Magari lì chiarisco meglio il mio caso.

Ti ringrazio... sei stato fondamentale... spero che continuerai a seguirmi di là!

Il Dio di questa gente ha mostrato loro con milioni di azioni di non rispettare alcuno dei comandamenti della Bibbia. Egli li viola uno per uno, adulterio e tutto il resto.

(Mark Twain)

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.