Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it L'avatar di osgb
    Registrato dal
    May 2004
    residenza
    Monza
    Messaggi
    179

    Inserire blocchi dinamici da file separato vb

    Salve, il problema è questo:
    So che se utilizzo label è possibile creare dinamicamente testo in file separato vb.
    Ho la necessità di inserire testo di più istruzioni che cambia a seconda se la sessione utente è user o admin.
    Funziona mettendo <% If... Then... %> in file aspx, ma se volessi mettere queste condizioni nel file separato vb come dovrei fare?

    Spero di essere stato chiaro... e grazie.

  2. #2
    Utente di HTML.it
    Registrato dal
    Jul 2010
    Messaggi
    120
    Ciao

    per fare quello che vuoi tu devi mettere dei controlli server esattamente dove avresti messo i <% %>. Il controllo più indicato in questo caso è il LiteralControl ( non Label, che potrebbe farti della htmlEncode e ti introduce uno span ). Ne metti uno in ogni punto "dinamico" e poi lato vb ( nel file separato ) valorizzi le proprietà Text a seconda di cosa ci vuoi mettere

  3. #3
    Utente di HTML.it L'avatar di osgb
    Registrato dal
    May 2004
    residenza
    Monza
    Messaggi
    179
    Grazie per la risposta, ma se dovessi scrivere

    <% if utente=ok then %>
    Scrivo questo
    Scrivo quello...
    <% end if %>
    la proprietà text dovrei farla multipla (una per "scrivo questo", l'altra per "scrivo quello"...)

    Mi sembra più complicato che scrivere il codice nella pagina aspx?!?

  4. #4
    Utente di HTML.it
    Registrato dal
    Jul 2010
    Messaggi
    120
    Dipende da quanto è dinamico il tuo testo.
    Se per intenderci hai solo due possibili testi ( fissi ) potrei essere d'accordo con te, tanto varrebbe scriverli nell'aspx. In quel caso personalmente metterei due Label o due Div con all'interno i due testi e da codice li renderei visibili a seconda del tipo di utenza nella Load, più che usare la modalità "ASP" ( se mi passi il termine ).

    Ma se i tipi di utenti iniziano a diventare più di due, o se il testo deve iniziare ad essere personalizzato ( tipo con nome utente, ultima login, compleanno, news ) preferisco mettere un'unica label nel markup e nel VB piazzare una
    codice:
    Select Case TipoUtente
    Case "admin"
      Label.Text = String.Formt("Egregio {0}, situazione {1}", .....)
    Case "utente"
      Label.Text = String.Formt("Gentile {0}, situazione {1}", .....)
    Case "operatore"
      Label.Text = String.Formt("Caro {0}, situazione {1}", .....)
    End Case

    In generale quello che fai nel code behind lo puoi fare spesso anche nell'aspx, è più che altro una questione di ordine e leggibilità : avere grandi testi nel markup insieme a pezzi di codice lo snatura in quanto si perde di vista lo scheletro dell'interfaccia. D'altra parte l'asp.net si distingue dall'asp proprio per una visione dell'interfaccia molto più fedele alla sua natura di codice di Markup rispetto alla pagina vista come costruita "dall'alto in basso"

  5. #5
    Utente di HTML.it L'avatar di osgb
    Registrato dal
    May 2004
    residenza
    Monza
    Messaggi
    179
    Grazie. Ho risolto con il comando panel
    Nel code behind ho scritto:

    codice:
    ...
     If Session("REG_autoriz") = "admin" Then
                Panel1.Visible = True
            Else
                Panel1.Visible = False
            End If 
    ...
    Nella pagina aspx scrivo:

    codice:
    ... 
    <asp:Panel ID="Panel1" runat="server">
            ...tutte le righe che voglio ...
    </asp:Panel>
    ...
    Visualizzo tutto quello che voglio senza preoccuparmi, anche perchè ho letto che se impostato su Visible=False viene proprio ignorato. Come se non ci fosse,

  6. #6
    Utente di HTML.it
    Registrato dal
    Jul 2010
    Messaggi
    120
    Esattamente, Visible = False non è display='none', l'html non viene proprio incluso.
    E il Panel altro non è che il Div ( mettendo runat="server"

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.