Visualizzazione dei risultati da 1 a 8 su 8
  1. #1

    passaggio di parametri a controllo asp net

    Ciao devo visualizzare per un certo numero di volte un usercontrol passandogli dei parametri.
    Vi faccio vedere subito un esempio nel mio codice aspx :

    codice:
    <div class="col300">
      <% For Indice = 1 To TotIndice %> 
        <DtControl:test ID="Test1" align="left" IdT="1" IdP= "<%= indice %>" runat="server" />    
    <%Next %> 
    </div>
    Non riesco a valorizzare la proprieta idp dell'user control con la variabile indice ..
    Avevo gia' usato questa sintassi ma mettendo il mio user control in un repeater..e valorizzando tale proprieta' con eval e il campo del dataset.

    Con una variabile pubblica questa cosa non funziona ...mi sapete dire come devo fare?

    Grazie L.

  2. #2
    Il titolo della discussione non è conforme al regolamento, mandami per favore un messaggio privato con la rettifica.
    Chi non cerca trova.

  3. #3
    Io cambierei completamente approccio, stai usando tecniche stile "ASP classic"! Fin dalla prima versione di ASP.NET l'obiettivo principale dei progettisti fu quello di separare la pagina HTML dal codice lato server. Il problema nel tuo caso è che una inclusione come <%= indice %> non funziona all'interno di un controllo ASP.NET (o di un qualsiasi altro elemento che ha l'attributo runat="server"). Ecco come farei io:
    codice:
    <div id="elenco" class="col300" runat="server">
    </div>
    
    'nel codice VB associato alla pagina
    For Indice = 1 To TotIndice
        Dim c As New test
    
        With c
            .ID = "Test1"
            .IdT = 1
            'ecc
        End With
    
        elenco.Controls.Add(c)
    Next
    Chi non cerca trova.

  4. #4

  5. #5

    info

    Allora ho provato...
    Se uso come controllo una textbox funziona...se invece aggiungo dinamicamente (come da tuo esempio) un mio user control, il div alla fine risulta essere vuoto ..cosa sto sbagliando?

    Ho progettato male l'user control?

    Se metto l'user control (uno solo nell'html, quindi non creandolo via programmazione) passandogli dei valori fissi funziona correttamente!
    Ho notato che nell'html ho dovuto registrare il componente(<%@ Register Src..) altrimenti non lo riconosceva nel codebehind...e' corretto quello che ho fatto?

    Grazie mille.
    Ciao Luca

    Codice HTML

    <%@ Page Language="VB" AutoEventWireup="false" CodeFile="Default.aspx.vb" Inherits="_Default" %>
    <%@ Register Src="~/footer.ascx" TagPrefix="CMS" TagName="footer" %>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

    <html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
    <title></title>
    </head>
    <body>
    <form id="form1" runat="server">
    <div runat="server" id="test">

    </div>

    </form>
    </body>
    </html>


    Codice vb



    Partial Class _Default
    Inherits System.Web.UI.Page

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
    If Not (IsPostBack) Then
    Dim index As Integer
    For index = 1 To 10
    Dim c As New Control_Footer
    With c
    .ID = "Id_" & index

    End With
    test.Controls.Add(c)
    Next

    End If
    End Sub
    End Class

  6. #6

    info

    Ho provato anche ad usare LoadControl("footer.ascx")..
    ma nulla sempre uguale!

  7. #7
    Prova così:
    codice:
    For Indice = 1 To TotIndice
        Dim c As Control_Footer
    
        c = CType(LoadControl("footer.ascx"), Control_Footer)
    
        With c
            .ID = "Test1"
            .IdT = 1
            'ecc
        End With
    
        elenco.Controls.Add(c)
    Next
    P.S. per favore la prossima volta che posti del codice ricordati di racchiuderlo tra i tag [ code ] [/ code ] (senza spazi). Sarà tutto più leggibile.
    Chi non cerca trova.

  8. #8

    info

    Ok grazie del consiglio
    Cosi' funziona.

    Ciao e buona giornata L

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.