Questa domanda fa notare Literal vs Label mentre questa domanda precisa Panel VS. PlaceHolder ma proprio oggi mi stava discutendo con il mio collega sull'utilizzo PlacHolder vs letterale per l'aggiunta di codice HTML che viene generato in fase di esecuzione. Entrambi i controlli non producono alcun markup extra, ma stiamo cercando il controllo giusto per aggiungere markup generati al volo. Lo answer of this question suggerisce l'uso di entrambi per aggiungere il markup generato, quindi mi chiedo quale controllo/approccio dovremmo usare per aggiungere semplicemente il markup generato e nient'altro.PlaceHolder vs letterale per l'aggiunta di markup HTML generato in fase di esecuzione
risposta
Né rendono alcun markup di loro (che può essere una cosa molto buona). Tuttavia, un Placeholder
potrebbe contenere controlli figlio, mentre un Literal
non può.
In confronto, un Placeholder
può contenere altri controlli, ma non ha una proprietà Text
.
Mi chiedo quale controllo/approccio dovremmo usare per aggiungere solo il markup generato e nient'altro.
Se per "generato" si intende il risultato finale è una stringa, vorrei utilizzare uno Literal
. Se stai generando una struttura di controllo, aggiungi questi controlli a Placeholder
.
Oppure, se si vuole omettere la dichiarazione di un controllo server completamente:
<h2>Hello World</h2>
<p>The following is generated markup.</p>
<%= base.GetGeneratedMarkup() %>
Credo che un Literal
è ancora generato sotto il cofano per questo, ma permette di mixare contenuti generati con il markup porzione della pagina/controllo (simile a Rasoio).
PlaceHolder vs Literal for adding HTML
La differenza principale è il controllo Literal ha la proprietà Text
(e la Mode) che viene inoltre memorizzato, nel ViewState, il PlaceHolder
è completamente vuota.
Così si può utilizzare un controllo Literal per aggiungere diretta qualche stringa di codice HTML, ed è possibile utilizzare il segnaposto per aggiungere alcuni altri controlli ma non aggiungere alcun codice html diretta.
- 1. Indentazione del markup generato in Jekyll/Ruby
- 2. Stringa letterale Java: set di caratteri errato in fase di esecuzione
- 3. Esecuzione del codice java compilato in fase di esecuzione
- 4. Markup sicuro per e-mail HTML
- 5. Markup HTML semantico per domande frequenti
- 6. Ottieni binding IIS in fase di esecuzione
- 7. Rileva versione Python in fase di esecuzione
- 8. Estendere classe in fase di esecuzione
- 9. Modifiche al vtable in fase di esecuzione
- 10. Modifica implementazione/classe in fase di esecuzione
- 11. Cambiare l'orientamento in fase di esecuzione
- 12. Sostituisci bean in fase di esecuzione
- 13. Aggiungere animazione in fase di esecuzione
- 14. Esistono strumenti di convalida del markup HTML autonomi
- 15. Aumenta disposizione PySpark in fase di esecuzione
- 16. javafx cambia css in fase di esecuzione
- 17. scegliere una monade in fase di esecuzione
- 18. esclusione in fase di esecuzione __setattr__
- 19. Mustachejs esegue il markup html come html
- 20. Castle Windsor Resolve in fase di esecuzione
- 21. Modifica oggetto iniettato in fase di esecuzione
- 22. Cambia carattere in fase di esecuzione
- 23. Impostazione tipo generico in fase di esecuzione
- 24. Modifica proprietà log4j in fase di esecuzione
- 25. metodo call in fase di esecuzione
- 26. FederatedAuthentication.WSFederationAuthenticationModule è nullo in fase di esecuzione
- 27. Caricamento giare in fase di esecuzione
- 28. Ridimensionamento dei controlli in fase di esecuzione
- 29. Come si convalida un html generato da JS in esecuzione nel browser?
- 30. sovrascrittura o impostazione di endpoint del servizio Web in fase di esecuzione per il codice generato con wsimport