666 messaggi dal 10 febbraio 2006
ciao

dato questo codice
    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
       
        Dim cnn As New Data.SqlClient.SqlConnection("Data Source=.\SQLEXPRESS;AttachDbFilename=C:\Giannicola\JayKayPromo\App_Data\ASPNETDB.MDF;Integrated Security=True;Connect Timeout=30;User Instance=True")
        Dim cmd1 As New Data.SqlClient.SqlDataAdapter("SELECT [id_squadra], [nome_squadra], [descrizione] FROM [squadra]", cnn)

        Dim ds As New Data.DataSet()
        cmd1.Fill(ds, "squadre")

        For j As Integer = 0 To (ds.Tables(0).Rows.Count - 1)
            Dim LinkButton7 As New System.Web.UI.WebControls.LinkButton
            LinkButton7.Text() = ds.Tables(0).Rows(0).ItemArray(1).ToString
            Repeater1.ItemTemplate = LinkButton7
            LinkButton7.PostBackUrl = (Request.Url.LocalPath + "?idsquadra=" + ds.Tables(0).Rows(0).ItemArray(0).ToString)
        Next

        Repeater1.DataSource = ds
        Repeater1.DataBind()

        cnn.Close()
    End Sub

vorrei creare un repeater;
all'interno voglio mettervi tanti linkbutton quanti sono i record del db;
voglio creare un templateitem
(che dovrà ripetersi per quanti sono i record del db)
con all'interno dei tag <li> con all'interno
uno dei linkbutton creati
(quindi:<li><asp:LinkButton ...>...</asp:LinkButton></li>) ;
inserire un headertemplate con il tag <ul>;
inserire il tag di chiusura </ul> in un footertemplate;
quindi il risultato finale che vorrei ottenere (creando il tutto da codice)
sarà:
                        <asp:Repeater id="Repeater1" runat="server"  >
                           <HeaderTemplate>
                                        <ul>
                             </HeaderTemplate>
                            <ItemTemplate>
                                    <li>
                                             <asp:LinkButton ID="LinkButton7" runat="server"></asp:LinkButton>
                                    </li>
                             </ItemTemplate>
                            <FooterTemplate>
                                        </ul>
                            </FooterTemplate>
                       </asp:Repeater>
.

Domanda: come si creano i template da codice?

Modificato da Giovanni_3478 il 22 novembre 2006 02.11 -
Giovanni_3478 wrote:
up

questo genere di "post", in questo forum vanno contro le regole. per cortesia, non risponderti da solo, perchè l'effetto che ottieni non è quello di far salire il post, è solo quello di far comparire il numero 1 a fianco alle voce risposte, così che chi cerca di rispondere alle domande, non legge nemmeno la tua dato che non risulta senza risposta. ed in più, non serve mettere in alto il messaggio, per il semplice fatto che non è detto che una risposta ti sia dovuta: qui lo facciamo tutti come hobby, nel tempo libero, con molto piacere e tanto divertimento, ma sempre nel tempo libero.
grazie.

Daniele Bochicchio | ASPItalia.com | Libri
Chief Operating Officer@iCubed
Microsoft Regional Director & MVP
Giovanni_3478 wrote:
vorrei creare un repeater;

non è cosa banale. fai prima ad usare un template esterno, se l'obiettivo è condividerlo, e caricarlo con LoadTemplate.

se vuoi invece andare sulla strada che hai individuato, vedi http://www.aspitalia.com/articoli/asp.net/databinding_templating.aspx

Daniele Bochicchio | ASPItalia.com | Libri
Chief Operating Officer@iCubed
Microsoft Regional Director & MVP
666 messaggi dal 10 febbraio 2006
chiedo scusa.


Penso di usare un template esterno perchè è più semplice come soluzione
666 messaggi dal 10 febbraio 2006
dal link che hai scritto
ho letto la parte del tutorial relativa al templating.

Scrivendo questo codice
    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load

        Dim controllo_prova As New System.Web.UI.WebControls.Label
        controllo_prova.Text = "wewe"

        Dim templ As System.Web.UI.ITemplate
       *templ*.InstantiateIn(controllo_prova)

        DataList1.FooterTemplate() = templ

    End Sub


mi restituisce come errore
"Riferimento a un oggetto non impostato su un'istanza di oggetto."
e su templ (dove stanno gli asterischi)
da Visual Studio
mi dice: la variabile templ viene utilizzata prima che le sia stato assegnato un valore. E' possibile che venga restituita un'eccezione dovuta a un riferimento con valore null in fase di esecuzione.

Cosa ho sbagliato?
Modificato da Giovanni_3478 il 30 novembre 2006 21.49 -
che temp1 non è assegnato, perchè di fatto non lo fai.
guarda http://www.aspitalia.com/script/681/Aggiungere-EmptyTemplate-Repeater.aspx per un esempio reale e funzionante.

Daniele Bochicchio | ASPItalia.com | Libri
Chief Operating Officer@iCubed
Microsoft Regional Director & MVP
666 messaggi dal 10 febbraio 2006
Il file di esempio del tuo link
va salvato con quale nome ed estensione?
In quale cartella va messo?

Ho riscritto il codice in Vb;
tuttavia c'è una parte che non sono riuscito a riscrivere
Imports System
Imports System.Web.UI
Imports System.Web.UI.WebControls
Imports System.ComponentModel

Namespace ASPItalia.com.UI.WebControls

    Public Class RepeaterEx

        Inherits System.Web.UI.WebControls.Repeater

        ' proprietà per la definizione di un template da utilizzare quando non ci sono dati

        Private emptyTemplate As ITemplate
' --------------------------------------------------------------------------
        Public sub EmptyTemplate As ITemplate
              get 
            Return emptyTemplate
            end get
            emptyTemplate = value
            end set
        End Sub
' ---------------------------------------------------------------------------
        Protected Overrides Sub Render(ByVal output As HtmlTextWriter)

            ' se non ci sono dati, istanzio il template

            If (Me.Items.Count = 0 And emptyTemplate IsNot DBNull.Value) Then

                emptyTemplate.InstantiateIn(Me)
            End If

            MyBase.Render(output)
        End Sub

    End Class
End Namespace

Nello spazio tra i commenti non so cosa scrivere.
Il resto del codice è scritto bene?

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.