Frage

Was ist der Unterschied zwischen <asp:Panel > und <asp:PlaceHolder > in ASP.NET?

Wann sollten Sie einen über den anderen verwenden?

War es hilfreich?

Lösung

Ein Panel erweitert auf eine Spanne (oder div), mit ihm in ihr Inhalt ist. Ein Platzhalter ist nur, dass ein Platzhalter, der durch alles, was Sie setzen in es ersetzt wird.

Andere Tipps

Die Platzhalter machen keine Tags für sich selbst, so ist es ideal für die Gruppierung der Inhalte ohne den Overhead von äußeren HTML-Tags.

Das Gremium hat äußere HTML-Tags haben aber ein paar coole zusätzliche Eigenschaften hat.

  • BackImageUrl: Liest / Setzt die Hintergrundbild URL für das Panel

  • Horizontalalign: Ruft / Legt die
    horizontale Ausrichtung des Eltern Inhalt

  • Wrap: Ruft / Legt fest, ob der
    Panel Inhalt Wraps

Es gibt einen guten Artikel zu startvbnet hier .

Placeholder-Steuerelement

Verwenden Sie das Placeholder-Steuerelement als Container-Server-Steuerelemente zu speichern, die auf die Web-Seite dynamisch hinzugefügt werden. Der Placeholder-Steuerelement erzeugt keine sichtbare Ausgabe und wird nur als Container für andere Steuerelemente auf der Webseite verwendet. Sie können die Control.Controls Sammlung verwenden, um hinzuzufügen, einzufügen oder um ein Steuerelement in dem Placeholder-Steuerelement zu entfernen.

Panel control

Das Panel-Steuerelement ist ein Container für andere Steuerelemente . Es ist besonders nützlich, wenn Sie Steuerelemente programmgesteuert erzeugen, verstecken / zeigen eine Gruppe von Kontrollen oder eine Gruppe von Kontrollen lokalisieren.

Die Direction Eigenschaft ist nützlich für einen Panel-Steuerelement Inhalt lokalisierende Text für Sprachen angezeigt werden, die von rechts geschrieben wird, nach links, wie Arabisch oder Hebräisch.

Das Panel Control bietet mehrere Eigenschaften, die es Ihnen ermöglichen, das Verhalten und die Anzeige seines Inhalts anpassen. Verwenden Sie die BackImageUrl Eigenschaft ein benutzerdefiniertes Bild für das Panel-Steuerelement angezeigt werden soll. Verwenden Sie die ScrollBars Eigenschaft Scrollbalken für die Steuerung festlegen.

Kleine Unterschiede bei der HTML-Darstellung: a. Placeholder-Steuerelement nichts machen, aber Panel-Steuerelement wird als <div> macht

Weitere Informationen unter ASP.NET Foren

I * seltsame Fehler in Visual Studio 2010, wenn Sie Steuerelemente in einem Platzhalter setzen nicht macht es nicht, sie in der Entwurfsansicht-Modus.

Dies gilt insbesondere für Hidenfields und leeren Etiketten.

Ich würde gerne Platzhalter anstelle von Platten verwenden, aber ich hasse die Tatsache, dass ich andere Steuerelemente in Platzhalter zur Entwurfszeit in der GUI setzen kann nicht.

Wie in anderen Antworten erwähnt, erzeugt das Gremium eine <div> in HTML, während die Platzhalter nicht der Fall ist. Aber es gibt viel mehr Gründe, warum Sie entweder eine wählen könnten.

Warum ein Platzhalter?

Da es erzeugt keinen Tag den es besitzt Sie es sicher in einer anderen Elemente verwendet werden können, die keine <div> enthalten können, zum Beispiel:

<table>
    <tr>
        <td>Row 1</td>
    </tr>
    <asp:PlaceHolder ID="PlaceHolder1" runat="server"></asp:PlaceHolder>
</table>

Sie können auch einen Platzhalter verwenden, um die Sichtbarkeit einer Gruppe von Steuerelementen zu steuern, ohne dass es in einer <div> Einwickeln

<asp:PlaceHolder ID="PlaceHolder1" runat="server" Visible="false">
    <asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
    <br />
    <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
</asp:PlaceHolder>

Warum ein Gremium

Es erzeugt eine eigene <div> ist und auch verwendet werden kann, eine Gruppe von Contols zu wickeln. Aber ein Gremium hat viel mehr Eigenschaften, die nützlich sein können, zu formatieren, um es den Inhalt:

<asp:Panel ID="Panel1" runat="server" Font-Bold="true"
    BackColor="Green" ForeColor="Red" Width="200"
    Height="200" BorderColor="Black" BorderStyle="Dotted">
    Red text on a green background with a black dotted border.
</asp:Panel>

Aber das nützlichste Feature ist die DefaultButton Eigenschaft. Wenn die ID einen Button im Panel entspricht, wird es ein Formular erstellen Validierung auslösen, wenn enter in einem TextBox gedrückt wird. Nun kann ein Benutzer das Formular abzuschicken, ohne den Knopf zu drücken.

<asp:Panel ID="Panel1" runat="server" DefaultButton="Button1">
    <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
    <br />
    <asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server"
        ErrorMessage="Input is required" ValidationGroup="myValGroup"
        Display="Dynamic" ControlToValidate="TextBox1"></asp:RequiredFieldValidator>
    <br />
    <asp:Button ID="Button1" runat="server" Text="Button" ValidationGroup="myValGroup" />
</asp:Panel>

Versuchen Sie das obige Snippet von enter innerhalb TextBox1 Drücken von

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top