vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Zippen wie die Profis!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

ASP.NET, WebServices u. Remoting
ContentPlaceHolder mit
 
Autor: Fiduz
Datum: 18.10.10 19:41

Hey Leute!
Ich hab eine Masterpage mit ContentPlaceHolder-Objekten (geht ja jetzt schon eher wieder in die Richtung ASP.net ..), die ich dann in den Unterseiten mit Inhalt fülle. Um eines dieser ContentPlaceHolder habe ich jetzt aber noch ein
Tag, um das Layout zu definieren. Sieht dann in etwa so aus:

 
<div class="Status">
   <asp:ContentPlaceHolder ID="Status" runat="server" />
</div>
Jetzt kommt es aber auch vor, dass der Status mal leer ist, dann möchte ich aber natürlich auch, dass das
gar nicht erst angezeigt wird. Bei mir besteht ein Status z.B. aus einer Fehlermeldung, die dann durch CSS rot umrandet wird. Wenn keine Fehlermeldung vorhanden ist, ist der rote Kasten im Moment aber trotzdem noch da. Ich brauche also eine Lösung, bei welcher das
-Tag nur um den PlaceHolder eingefügt wird, wenn der Inhalt der PlaceHolders <> "" ist. Wie lässt sich das am einfachsten umsetzen? Gibts da vielleicht eine Eigenschaft des Objektes selbst? Wenn's geht, würde ich das am liebsten ohne größeren Programmieraufwand realisieren. Danke!
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: ContentPlaceHolder mit <div> 
Autor: RobertS
Datum: 26.11.10 16:59

Hi,

könnte es vielleicht klappen, wenn du es so machst:

<div class="Status" id="divStatus" runat="server">
    <asp:ContentPlaceHolder ID="Status" runat="server" />
</div>
und jetzt einfach im code z.B. so etwas.

wenn der Inhalt des ContentPlaceHolders leer ist einfach das div auf unsichtbar setzen.

Bin leider auch noch recht neu bei ASP.NET und kann es derzeit nicht ausprobieren.

Gruß
Robert
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: ContentPlaceHolder mit <div> 
Autor: Fiduz
Datum: 26.11.10 19:20

Wäre ja auch mein Ansatz gewesen, aber wie stelle ich denn fest, ob der ContentPlaceHolder leer ist oder nicht? Ich weiß einfach nicht, wie ich an dieses Objekt komme (auch IntelliSense hilft mir nicht groß weiter).

Beitrag wurde zuletzt am 26.11.10 um 19:20:22 editiert.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: ContentPlaceHolder mit <div> 
Autor: RobertS
Datum: 29.11.10 09:54

Hi,

wenn ich das mit den ContentPlaceHolder richtig verstanden habe, ist das ja nur ein Plazhalter für Inhalt, den du slebst hinzufügst. z.B.
Status.InnerHtml="<div>Hallo hier bin ich</div>"
und wenn eben dieser Inhalt leer ist, setzt du das <div> um den ContentPlaceHolder auf unsichtbar.

Gruß
Robert
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: ContentPlaceHolder mit <div> 
Autor: Fiduz
Datum: 29.11.10 18:25

Um das nur noch mal kurz zusammenzufassen: In den Unterseiten selbst setze ich (möglicherweise) einen Inhalt in die ContentPlaceHolder auf der Masterseite. Das sieht dann so aus:

<asp:Content ID="Content2" ContentPlaceHolderID="Status" Runat="Server">
    <asp:Label ID="lblStatus" Text="" runat="server" />
</asp:Content>
In den Prozeduren fülle ich dann entweder die Variable lblStatus (z.B. mit einer Fehlermeldung), oder lasse sie einfach leer. Trotzdem wird auf der Masterseite IMMER das <div> um die Meldung gelegt.

Logischerweise muss ich aber in der Masterseite selbst (und nicht in der Unterseite) herausbekommen, ob der PlaceHolder nun gerade = "" ist oder nicht. Meine Frage beschränkt sich im Prinzip ja nur darauf, wie genau ich dem ContentPlaceHolder-Objekt entlocken kann, ob es gerade einen Inhalt hat oder nicht.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: ContentPlaceHolder mit <div> 
Autor: RobertS
Datum: 30.11.10 10:53

Hi,

evtl hilft dir dieser Link weiter.
http://msdn.microsoft.com/de-de/library/xxwa0ff0%28v=VS.80%29.aspx
Ich kann es im Moment leider nicht selbst testen und mit ContentPlaceHolder hab ich in ASP.NET auch noch nicht wirklich was gemacht.

Gruß
Robert
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: ContentPlaceHolder mit <div> 
Autor: Fiduz
Datum: 30.11.10 19:19

Erstmal Danke für deine Bemühungen!
Möglich, dass es an meiner (durchaus lückenhaften) Erfahrung mit ASP/VB liegt, aber auf diese Weise kann ich den ContentPlaceHolder momentan auch nicht ansprechen.

Gibts sowas wie ContentPlaceHolder.Text nicht in irgendeiner Form? Bin mit IntelliSense fast alle Möglichkeiten durch, finde sowas aber trotzdem nicht. Muss doch irgendwie gehen ..
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: ContentPlaceHolder mit <div> 
Autor: Drapondur
Datum: 30.11.10 20:24

Hi,

das liegt daran, dass der Contentplaceholder nicht mehr da ist, wenn die Seite angezeigt wird. Der Placeholder wird ersetzt durch den Content.

Ciao
D.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: ContentPlaceHolder mit <div> 
Autor: Fiduz
Datum: 08.12.10 18:21

Und wie könnte ich's dann noch herausfinden? Also ist auch nicht lebensnotwendig, aber es ist eben ein besserer Programmierstil, leichter zu warten. Abgesehen davon interessiert mich die Fragestellung auch generell. Das einzige, was mir noch einfällt, ist, nach einem Platzhalter in dem Status zu suchen (z.B. ##Status##) und diesen dann jeweils zu löschen, den normalen Statusinhalt zu behalten und das <div></div> hinzuzufügen. Aber ist auch nicht so optimal ..
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2024 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel