2013-03-10 13 views
10

Diese Frage weist darauf hin, Literal vs Label während diese Frage Panel VS. PlaceHolder weist darauf hin, aber nur heute habe ich mit meinem Kollegen debattierte über die Verwendung PlacHolder vs Wörtliche für das Hinzufügen von HTML-Markup, die zur Laufzeit erzeugt wird. Beide Steuerelemente erzeugen kein zusätzliches Markup, aber wir suchen nach dem richtigen Steuerelement für das Hinzufügen von generiertem Markup im laufenden Betrieb. Die answer of this question schlägt vor, beide zu verwenden, um generiertes Markup hinzuzufügen, also frage ich mich, welche Kontrolle/Ansatz wir verwenden sollten, um nur generiertes Markup hinzuzufügen und nichts mehr.Platzhalter vs Wörtliche für das Hinzufügen von HTML-Markup zur Laufzeit generiert

Antwort

13

Keine machen eigene Markup (was eine sehr gute Sache sein kann). Ein Placeholder kann jedoch untergeordnete Steuerelemente enthalten, während ein Literal nicht kann.

Zum Vergleich kann eine Placeholder andere Steuerelemente enthalten, aber keine Eigenschaft.

Ich frage mich, welche Kontrolle/Ansatz sollten wir nur für das Hinzufügen generierten Markup und nichts mehr verwenden.

Wenn durch "erzeugt" meinst du das Endergebnis ist eine Zeichenfolge, würde ich eine Literal verwenden. Wenn Sie eine Steuerelementstruktur erstellen, hängen Sie diese Steuerelemente an eine Placeholder an.

Oder, wenn Sie die Deklaration einer Server-Steuerelement auslassen möchten vollständig:

<h2>Hello World</h2> 
<p>The following is generated markup.</p> 
<%= base.GetGeneratedMarkup() %> 

Ich glaube, ein Literal noch unter der Haube für diese erzeugt wird, aber es ermöglicht Ihnen mit dem Markup generierte Inhalte zu mischen Teil Ihrer Seite/Kontrolle (ähnlich wie Razor).

6
PlaceHolder vs Literal for adding HTML 

Der hauptsächliche Unterschied ist die das Literal-Steuerelement hat die Text Eigenschaft (und Mode), die ebenfalls auf dem Anzeigestatus gespeichert wird, die PlaceHolder völlig leer ist.

So können Sie ein Literal-Steuerelement verwenden, um direkt einig String HTML-Code hinzufügen, und Sie können die Platzhalter verwenden, um einige andere Steuerelemente hinzufügen, aber keinen direkten HTML-Code hinzufügen.