10

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

13

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).

6
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.

Problemi correlati