man hat die Möglichkeit auf einer ASP.NET Seite nur ein Placeholder einzufügen und diesen dann in c# zu referenzieren. Dadurch kann ich mein komplettes HTML in c# schreiben mit System.Web.UI.WebControls. Wieso wird das so selten verwendet? Habe ich dadurch irgendwelche Nachteile?
Eine der großen Vorteile des CodeBehind-Modell von ASP.Net ist die Trennung der eigentlichen Programmierlogik und des HTML-Quelltext. Solltest du deinen Html-Code in C# in der Code-Datei schreiben, geht dir dieser Vorteil verloren, inklusive alle Intellisense-Unterstützung deiner Entwicklungsumgebung.
Die Frage ist doch, warum du das tun solltest.
Kommt der Html-Quelltext aus der Datenbank und du willst ihn auf die Website platzieren? Gibt es je nach Aufruf unterschiedliche Ausgaben? Dann kannst du auch mehere Placeholder in die aspx-Datei integrieren, auf visible="false" setzen und nur den wieder einblenden, der den aktuellen Inhalt wiedergeben soll.
Placeholder machen immer dann Sinn, wenn Du zum Zeitpunkt der HTML-Deklaration noch nicht weißt was dort später eingefügt wird, also zum Beispiel irgendwelche Datenbank-Geschichten, die von Url-Parameter abhängen oder anderen Umständen unterliegen.
Du kannst natürlich Deinen HTML-Code komplett mittels C# erzeugen, aber macht das Sinn? Du hast doch immer Layout-Code, also HTML, dass lediglich die Struktur der Seite vorgibt.
Ich verwende Placeholder auch immer gerne zum dynamischen Einfügen von Javascript an der Stelle wo es gebraucht wird.