Wann benötigen Sie .ascx-Dateien und wie würden Sie sie verwenden?

88

Wann ist es beim Erstellen einer Website eine gute Idee, .ascx-Dateien zu verwenden? Was genau ist die .ascx und wofür wird sie verwendet? Beispiele würden viel helfen, danke!

anthonypliu
quelle

Antworten:

97

Es ist eine Erweiterung für die Benutzersteuerelemente, die Sie in Ihrem Projekt haben.

Ein Benutzersteuerelement ist eine Art zusammengesetztes Steuerelement, das ähnlich wie eine ASP.NET-Webseite funktioniert. Sie können einem Benutzersteuerelement vorhandene Webserversteuerelemente und Markups hinzufügen und Eigenschaften und Methoden für das Steuerelement definieren. Sie können sie dann in ASP.NET-Webseiten einbetten, wo sie als Einheit fungieren.

Wenn Sie Funktionen haben möchten, die auf vielen Seiten Ihres Projekts verwendet werden, sollten Sie einfach ein Benutzersteuerelement oder ein zusammengesetztes Steuerelement erstellen und auf Ihren Seiten verwenden. Es hilft Ihnen nur, die gleiche Funktionalität und den gleichen Code an einem Ort zu behalten. Und es macht es wiederverwendbar .

Shekhar_Pro
quelle
12

Grundsätzlich verwenden wir Benutzersteuerelemente, wenn wir ähnliche Funktionen an verschiedenen Standorten einer App verwenden müssen. Da wir Masterseiten für ein einheitliches Erscheinungsbild der App verwenden, verwenden wir Benutzersteuerungen, um zu vermeiden, dass die gleiche Funktionalität und Benutzeroberfläche in der gesamten App wiederholt wird. Es könnte mich auch viel mehr gebrauchen, aber ich kenne nur diesen ...

Angenommen, Ihre Site hat 4 Benutzerebenen und für jeden Benutzer gibt es verschiedene Seiten in verschiedenen Verzeichnissen mit unterschiedlichen Zugriffsmechanismen. Angenommen, Sie fordern Adressinformationen für alle Benutzer an und erstellen dann auf jeder Seite Adressfelder wie Straße, Stadt, Bundesland, Postleitzahl usw. Das wäre ein sich wiederholender Job. Stattdessen können Sie es als ASCX-Datei (ext für Benutzersteuerung) erstellen und in diese Steuerung die erforderliche Benutzeroberfläche und den Geschäftscode zum Hinzufügen / Aktualisieren / Löschen / Auswählen der Adressrolle einfügen und dann einfach auf alle erforderlichen Seiten verweisen.

Nach Ansicht der Benutzersteuerung kann man also die Wiederholung von Code für jede Rolle und die Erstellung der Benutzeroberfläche für jede Rolle vermeiden.

SaiyanGirl
quelle
9

Ascx-Dateien werden als Benutzersteuerelemente bezeichnet und dienen der Wiederverwendbarkeit sowie dazu, komplexe Aspx-Seiten weniger komplex zu machen (einen Teil der Seite herausheben). Sie können auch für das sogenannte Donut-Caching von Vorteil sein , wenn Sie einen bestimmten Teil einer Seite zwischenspeichern möchten.

jimmystormig
quelle
3

Wenn Sie einen Code - Block haben + html , das erscheint auf mehreren Seiten und ist eine Art unabhängig von dieser Seite (sagen einen Block von neuesten Nachrichten), Sie könnten den Code auf jeder Seite kopieren / einfügen.

Es ist jedoch besser, diesen Code in einen eigenen Block zu setzen und diesen Block einfach auf jeder Seite einzufügen, die ihn benötigt. Dieser "Block" ist eine ASCX-Datei.

Hans Keing
quelle
1

ASCX-Dateien sind serverseitige Webanwendungsframeworks, die für die Webentwicklung entwickelt wurden, um dynamische Webseiten zu erstellen. Sie mögen DLL-Codes, aber Sie können TAGS verwenden. Sie können sie einmal schreiben und an einer beliebigen Stelle auf Ihren ASP-Seiten verwenden. Wenn Sie eine Datei haben mit dem Namen "Controll.ascx", dann heißt sein Code "Controll.ascx.cs". Sie können es in eine ASP-Seite einbetten, um es zu verwenden:

matio
quelle
1

Eine weitere Verwendung von .ascx-Dateien besteht darin, dass sie für das teilweise Zwischenspeichern von Seiten in ASP.NET-Seiten verwendet werden können. Wir müssen lediglich eine ASCX-Datei erstellen und dann die Steuerelemente oder Teile der Seite, die wir zwischenspeichern müssen, in dieses Steuerelement verschieben. Fügen Sie dann die @ OutputCache-Direktive in das ASCX-Steuerelement ein, und sie wird getrennt von der übergeordneten Seite zwischengespeichert. Es wird verwendet, wenn Sie nicht die gesamte Seite, sondern nur einen bestimmten Teil der Seite zwischenspeichern möchten.

Jashobanta Chakraborty
quelle
-2

Wenn Sie eine einfache asp.net-Website mit Webcontrols erstellen, ist dies eine gute Idee, wenn Sie Ihre Steuerelemente an mehr als einem Ort auf Ihrer Website verwenden möchten. Wenn Sie Code von den Layout-ASCX-Dateien trennen, befinden sich die Steuerelemente, die zum Anzeigen des Layouts verwendet werden. Die zu den ASCX-Dateien gehörenden CS-Dateien enthalten den Code, der diese Steuerelemente ausfüllt.

Für ein grundlegendes Verständnis der Benutzersteuerungen können Sie diese Website ausprobieren

Younes
quelle
1
Nein, mit einem Codebehind-Modell erhalten Sie aspx- oder ascx-Dateien sowie aspx.cs oder ascx.cs (oder aspx.vb und ascx.vb). Sie können eine Site mit nur aspx- (und aspx.cs-) Seiten ohne ASCX erstellen.
Hans Keing
2
sieht aus wie er mit cx und cs verwechselt wurde
Shekhar_Pro