Frage

Ich weiß, dass Microsoft Anstrengungen in Richtung semantisches und browserübergreifendes kompatibles XHTML und CSS unternommen hat, aber es scheint immer noch ein PitA zu sein, elegantes Markup zu erstellen.Ich habe die CSS-freundlichen Adapter und all das heruntergeladen und optimiert.Aber ich bin immer noch frustriert über aufgeblähten und unattraktiven Code.

Ist elegantes, semantisches CSS mit ASP.Net immer noch ein Wunschtraum?Oder ist es endlich möglich, ich brauche einfach mehr Übung?

War es hilfreich?

Lösung

Der einfachste Weg, elegantes HTML und CSS zu generieren, ist die Verwendung des MVC-Frameworks, bei dem Sie viel mehr Kontrolle über die HTML-Generierung haben als mit Web Forms.

Andere Tipps

Sehen diese Frage Für weitere Diskussionen, einschließlich der Verwendung von MVC.Diese Site verwendet ASP.NET und das Markup ist ziemlich sauber.Schauen Sie sich HTML/CSS auf MicrosoftPDC.com an (eine Website, an der ich arbeite) – sie verwendet ASP.NET-Webformulare, aber wir entwerfen mit sauberem Markup als Priorität.

Solange Sie den Visual Studio-Designer verwenden, ist das wahrscheinlich ein Wunschtraum.Ich schreibe meinen gesamten ASP.NET-Code (alle Markups und CSS) von Hand, einfach um den Designer zu umgehen.Spätere Versionen von Visual Studio sind viel besser darin geworden, Ihre .aspx/.ascx-Dateien nicht zu verstümmeln, aber sie sind immer noch alles andere als perfekt.

Eine bessere Frage ist:lohnt es sich wirklich?Ich schreibe Webanwendungen und selten trägt die Eleganz des resultierenden HTML/CSS/JavaScripts zum Endziel bei.Wenn Ihr Endziel darin besteht, dass die Leute einen „View Source“ für Ihre Sachen erstellen und sie bewundern, dann ist das vielleicht wichtig und die ganze Mühe wert, aber ich bezweifle es.

Wenn Sie die Semantik benötigen, verwenden Sie XML für Ihre Daten.Ich glaube an die Idee das semantische Web, aber meine Anwendungen müssen nichts damit zu tun haben.

Wie DannySmurf sagte, ist Handbau der richtige Weg.

Das heißt, Sie könnten sich Expression Web ansehen.Zumindest ist die Darstellung der Seiten ziemlich genau.

@JasonBunting – Ja, es lohnt sich absolut.Semantisches und browserübergreifendes Markup bedeutet, dass Suchmaschinen Ihre Inhalte einfacher (und damit höher ranken) können, dass Browser Ihre Inhalte leichter (und damit weniger fehleranfällig) für die Anzeige analysieren können und dass zukünftige Entwickler eine einfachere (und damit weniger fehleranfällige) Analyse haben Die Pflege Ihres Codes wird dadurch einfacher.

Ja – es ist ein Wunschtraum.Seitdem ich mit einem professionellen Webdesigner an einem gemeinsamen Projekt gearbeitet habe, der die Ausgabe der serverseitigen ASP.net-Steuerelemente HASSTE, habe ich aufgehört, sie zu verwenden.Ich musste im Grunde ASP.net-Apps schreiben, so wie man eine moderne PHP-App schreiben würde.Wenn Sie über eine umfangreiche Business-Schicht verfügen, kann Ihr Seiten- oder UI-Code minimal sein.

Seitdem habe ich nie mehr zurückgeschaut.Der zusätzliche Zeitaufwand für das Schreiben aller benutzerdefinierten Elemente hat mir viel Zeit beim Versuch erspart, Visual Studio / ASP.net mit CSS/XHTML gut funktionieren zu lassen.

Ich kann nicht glauben, dass niemand CSS-Adapter erwähnt hat.Viele der in asp.net verwendeten allgemeinen Steuerelemente (z. B. Gridview und Treeview) können über einen Adapter verarbeitet werden, um den resultierenden HTML-Code zu ändern, der an den Browser ausgegeben wird.

Wenn die MVC-Route keine praktikable Option ist, ist es möglich, eigene Adapter für jedes der integrierten asp.net-Steuerelemente zu schreiben.

http://www.asp.net/CssAdapters/

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