Neues Repository auf GitHub, WebFormsJS ist da!
WebFormsJS ist eine JavaScript-Bibliothek, die die Infrastruktur für die Interaktion mit Websteuerelementen im CodeBehind-Framework bereitstellt; Dadurch können Entwickler HTML-Tags einfach serverseitig verwalten.
Eine neue Architektur für effiziente Webentwicklung
Webentwicklung war schon immer ein komplexer und zeitaufwändiger Prozess mit mehreren Komplexitätsebenen und zahlreichen zu verwaltenden Technologien. WebFormsJS ist eine neue JavaScript-Bibliothek, die diesen Prozess vereinfacht, indem sie eine robuste Infrastruktur für die Interaktion mit Websteuerelementen (HTML-Tags) auf der Serverseite bereitstellt, sodass sich Entwickler auf Serverantworten konzentrieren können, ohne sich um das Front-End kümmern zu müssen.
Durch die Verwendung von WebFormsJS entfällt die Notwendigkeit einer Front-End-Entwicklung weitgehend. Sie müssen keine Frontend-Frameworks wie React, Angular und Vue mehr verwenden und müssen nicht einmal mit JavaScript im Frontend arbeiten. Bitte beachten Sie, dass die gleichzeitige Verwendung von WebFormsJS mit Frontend-Frameworks oder JavaScript Ihrem Projekt auch viele Vorteile bringt.
Bitte sehen Sie sich das folgende Beispiel an:
Dies ist eine HTML-Seite, die eine Seite vom Server auffordert, ihren Inhalt in ein div-Tag mit der ID MyTag einzufügen.
Einfaches AJAX mit JavaScript
<!DOCTYPE html> <html> <head> <script> function loadDoc() { const xhttp = new XMLHttpRequest(); xhttp.onload = function() { document.getElementById("MyTag").innerHTML = this.responseText; document.body.style.backgroundColor = "#409354"; document.getElementsByTagName("h2")[0].setAttribute("align","right"); } xhttp.open("GET", "/AjaxPage.aspx"); xhttp.send(); } </script> </head> <body> <div id="MyTag"></div> <div> <h2>Request from server</h2> <button type="button" onclick="loadDoc()">Set Content</button> </div> </body> </html>
Gemäß den oben genannten Codes haben wir eine HTML-Seite, in der es eine JavaScript-Methode gibt, um die Antwort einer Seite in AJAX-Form zu empfangen.
Das Ausführen der JavaScript-Methode führt dazu, dass drei Dinge passieren:
1- Den Inhalt einer Seite vom Server finden und ihn einem Teil der HTML-Seite hinzufügen
2- Ändern der Hintergrundfarbe
3- Für eines der Tags von rechts nach links festlegen
Hinweis: Die Optionen 2 und 3 werden auf der Clientseite durchgeführt. Wenn wir sie vom Server ändern möchten, müssen wir den Server noch zweimal anfordern oder alle drei Optionen mit einer Anfrage in einem komplizierten Prozess abrufen .
Um WebFormsJS zu unterstützen, haben wir die obige HTML-Seite wie folgt umgeschrieben.
Verwendung von WebFormsJS
<!DOCTYPE html> <html> <head> <script type="text/javascript" src="/script/web-forms.js"></script> </head> <body> <form method="GET" action="/AjaxPage.aspx"> <div id="MyTag"></div> <div> <h2>Request from server</h2> <input name="MyButton" type="submit" value="Set Content" /> </div> </form> </body> </html>
Wir haben die Datei „web-forms.js“ über den Link unten kopiert und im Pfad „script/web-forms.js“ gespeichert.
https://github.com/elanatframework/Web_forms/blob/elanat_framework/web-forms.js
Wenn wir die Seite vom Server anfordern, sendet der Server die folgende Antwort.
Serverantwort
[web-forms] stMyTag=Server response text bc<body>=#409354 ta<h2>=right
Wir vom Elanat-Team nennen diese Struktur Action Controls. Aktionssteuerelemente sind von WebFormsJS empfangene Codes, die im INI-Format empfangen werden. WebFormsJS erkennt automatisch, ob die Serverantwort über Aktionskontrollen verfügt oder nicht. Wenn die Antwort des Servers auf der Struktur einer INI-Datei basiert, die mit [web-forms] beginnt, verarbeitet sie die Aktionssteuerungen, andernfalls ersetzt sie die Antwort des Servers in Form von AJAX auf der Seite.
- Zeile 1: stMyTag=Server-Antworttext Hier sind die ersten beiden Zeichen st, was bedeutet, dass der Text festgelegt wird, und dann wird angegeben, dass er auf ein Tag mit der ID MyTag angewendet werden soll, und danach das Gleichheitszeichen (=) da ist der empfangene Text.
- Zeile 2: bc=#409354 Hier sind die ersten beiden Zeichen bc, was die Hintergrundfarbe bedeutet, und dann wird angegeben, dass sie auf das Body-Tag angewendet werden soll, und nach dem Gleichheitszeichen (= ) gibt es den Farbwert.
- Zeile 3: ta
=right Hier sind die ersten beiden Zeichen ta, was Textausrichtung bedeutet, und dann wird bestimmt, dass es auf ein Tag namens li angewendet wird, und nach dem Gleichheitszeichen (=) Es gibt einen Wert von rechts, der von rechts nach links bedeutet.
WebFormsJS auf der Serverseite
Wenn Sie ein flexibles Back-End-Framework verwenden, können Sie ganz einfach einen Prozess zum Generieren von Aktionskontrollen erstellen; Andernfalls können Sie die Eigentümer oder Entwickler bitten, den Kern des Back-End-Frameworks neu zu schreiben oder ein neues Modul zur Unterstützung von WebFormsJS zu erstellen.
Ein Beispiel für die Verwendung von WebFormsJS im CodeBehind-Framework
Wir erstellen eine neue Ansicht, in der es eine Eingabe vom Typ „Auswählen“ gibt; Wir möchten neue Optionswerte in „select“ hinzufügen, also fügen wir zwei Textfeldeingaben für den Namen und den Wert der neuen Option in die Ansicht ein und erstellen außerdem eine Kontrollkästcheneingabe dafür, ob die neue Option in dieser Ansicht ausgewählt ist oder nicht .
Ansicht (Form.aspx)
@page @controller FormController <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title>Send Form Data</title> <script type="text/javascript" src="/script/web-forms.js"></script> </head> <body> <form method="post" action="/Form.aspx"> <label for="txt_SelectName">Select name</label> <input name="txt_SelectName" id="txt_SelectName" type="text" /> <br> <label for="txt_SelectValue">Select value</label> <input name="txt_SelectValue" id="txt_SelectValue" type="text" /> <br> <label for="cbx_SelectIsSelected">Select Is Selected</label> <input name="cbx_SelectIsSelected" id="cbx_SelectIsSelected" type="checkbox" /> <br> <label for="ddlst_Select">Select</label> <select name="ddlst_Select" id="ddlst_Select"> <option value="1">One 1</option> <option value="2">Two 2</option> <option value="3">Three 3</option> <option value="4">Four 4</option> <option value="5">Five 5</option> </select> <br> <input name="btn_Button" type="submit" value="Click to send data" /> </form> </body> </html>
Wir aktivieren zunächst das IgnoreViewAndModel-Attribut; Dadurch verhindern wir, dass die Ansichtsseite zurückkehrt. Dann erstellen wir eine Instanz der WebForms-Klasse und fügen der Dropdown-Liste entsprechend den über die Form-Methode gesendeten Werten einen neuen Wert hinzu. Schließlich müssen wir die erstellte Instanz der WebForms-Klasse in der Control-Methode platzieren.
Controller (FormController)
public partial class FormController : CodeBehindController { public void PageLoad(HttpContext context) { if (!string.IsNullOrEmpty(context.Request.Form["btn_Button"])) btn_Button_Click(context); } private void btn_Button_Click(HttpContext context) { IgnoreViewAndModel = true; Random rand = new Random(); string RandomColor = "#" + rand.Next(16).ToString("X") + rand.Next(16).ToString("X") + rand.Next(16).ToString("X") + rand.Next(16).ToString("X") + rand.Next(16).ToString("X") + rand.Next(16).ToString("X"); WebForms Form = new WebForms(); string SelectValue = context.Request.Form["txt_SelectValue"]; string SelectName = context.Request.Form["txt_SelectName"]; bool SelectIsChecked = context.Request.Form["cbx_SelectIsSelected"] == "on"; Form.AddOptionTag(InputPlace.Id("ddlst_Select"), SelectName, SelectValue, SelectIsChecked); Form.SetBackgroundColor(InputPlace.Tag("body"), RandomColor); Control(Form); } }
Each time the button is clicked, new values are added to the drop-down list and the background changes to a random color.
This is a simple example of CodeBehind framework interaction with WebFormsJS.
These features will be available in version 2.9 of the CodeBehind framework. In the coming days, version 2.9 of the CodeBehind framework will be released.
Advantages of WebFormsJS over using JavaScript and AJAX:
- Simplified code: WebFormsJS provides a simpler and more concise way of interacting with web controls on the server-side, reducing the complexity of code and making it easier to maintain.
- Automatic form serialization: WebFormsJS automatically serializes form data, eliminating the need to manually serialize and deserialize data using techniques like JSON or XML.
- Progress bar: WebFormsJS includes a progress bar that displays the amount of data sent on the screen, providing a more engaging user experience.
- Server-Side processing: WebFormsJS allows for server-side processing of form data, enabling more complex logic and validation to be performed on the server-side.
- Support for multiple controls: WebFormsJS supports multiple controls, including checkboxes, radio buttons, select boxes, and text inputs, making it easy to interact with multiple controls on the server-side.
- Customizable: WebFormsJS provides customizable options, such as the ability to set the progress bar display, error messages, and other settings.
- Robust infrastructure: WebFormsJS provides a robust infrastructure for interacting with web controls on the server-side, making it suitable for large-scale applications.
In contrast, using JavaScript and AJAX:
- Requires manual serialization and deserialization of form data
- Does not provide a progress bar or error handling
- Does not support multiple controls or server-side processing
- Is more verbose and complex to use
Comparison with Frontend Frameworks
Frontend frameworks like React, Angular, and Vue have gained popularity in recent years for their ability to create dynamic and interactive user interfaces. However, compared to WebFormsJS, they have some key differences:
Complexity: Frontend frameworks can be complex to set up and require a deep understanding of JavaScript and the framework itself. In contrast, WebFormsJS simplifies web development by allowing developers to focus on server-side interactions and control the HTML elements.
Performance: While frontend frameworks offer high performance and efficiency, WebFormsJS also boasts high performance and low bandwidth consumption. It efficiently manages server responses and controls HTML tags, reducing the complexity of web development.
Customization: Frontend frameworks offer extensive customization options and flexibility to create unique user interfaces. WebFormsJS also provides customization options, such as postback, progress bar, and script extraction, but focuses more on server-side interaction.
Action Controls: WebFormsJS introduces the concept of Action Controls, which are received in INI format to define specific actions for HTML tags. This provides a clear and structured way to handle server responses and modify controls on the page.
Conclusion
WebFormsJS is a powerful JavaScript library that simplifies web development by providing a robust infrastructure for interacting with web controls on the server-side. Its advanced system, low bandwidth consumption, and customization options make it an attractive choice for developers looking to build efficient and scalable web applications.
Related links
WebFormsJS on GitHub:
https://github.com/elanatframework/Web_forms
CodeBehind on GitHub:
https://github.com/elanatframework/Code_behind
CodeBehind in NuGet:
https://www.nuget.org/packages/CodeBehind/
CodeBehind page:
https://elanat.net/page_content/code_behind
Das obige ist der detaillierte Inhalt vonNeues Repository auf GitHub, WebFormsJS ist da!. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen











Unterschiedliche JavaScript -Motoren haben unterschiedliche Auswirkungen beim Analysieren und Ausführen von JavaScript -Code, da sich die Implementierungsprinzipien und Optimierungsstrategien jeder Engine unterscheiden. 1. Lexikalanalyse: Quellcode in die lexikalische Einheit umwandeln. 2. Grammatikanalyse: Erzeugen Sie einen abstrakten Syntaxbaum. 3. Optimierung und Kompilierung: Generieren Sie den Maschinencode über den JIT -Compiler. 4. Führen Sie aus: Führen Sie den Maschinencode aus. V8 Engine optimiert durch sofortige Kompilierung und versteckte Klasse.

Python eignet sich besser für Anfänger mit einer reibungslosen Lernkurve und einer kurzen Syntax. JavaScript ist für die Front-End-Entwicklung mit einer steilen Lernkurve und einer flexiblen Syntax geeignet. 1. Python-Syntax ist intuitiv und für die Entwicklung von Datenwissenschaften und Back-End-Entwicklung geeignet. 2. JavaScript ist flexibel und in Front-End- und serverseitiger Programmierung weit verbreitet.

Die Verschiebung von C/C zu JavaScript erfordert die Anpassung an dynamische Typisierung, Müllsammlung und asynchrone Programmierung. 1) C/C ist eine statisch typisierte Sprache, die eine manuelle Speicherverwaltung erfordert, während JavaScript dynamisch eingegeben und die Müllsammlung automatisch verarbeitet wird. 2) C/C muss in den Maschinencode kompiliert werden, während JavaScript eine interpretierte Sprache ist. 3) JavaScript führt Konzepte wie Verschlüsse, Prototypketten und Versprechen ein, die die Flexibilität und asynchrone Programmierfunktionen verbessern.

Zu den Hauptanwendungen von JavaScript in der Webentwicklung gehören die Interaktion der Clients, die Formüberprüfung und die asynchrone Kommunikation. 1) Dynamisches Inhaltsaktualisierung und Benutzerinteraktion durch DOM -Operationen; 2) Die Kundenüberprüfung erfolgt vor dem Einreichung von Daten, um die Benutzererfahrung zu verbessern. 3) Die Aktualisierung der Kommunikation mit dem Server wird durch AJAX -Technologie erreicht.

Die Anwendung von JavaScript in der realen Welt umfasst Front-End- und Back-End-Entwicklung. 1) Zeigen Sie Front-End-Anwendungen an, indem Sie eine TODO-Listanwendung erstellen, die DOM-Operationen und Ereignisverarbeitung umfasst. 2) Erstellen Sie RESTFUFFUPI über Node.js und express, um Back-End-Anwendungen zu demonstrieren.

Es ist für Entwickler wichtig, zu verstehen, wie die JavaScript -Engine intern funktioniert, da sie effizientere Code schreibt und Leistungs Engpässe und Optimierungsstrategien verstehen kann. 1) Der Workflow der Engine umfasst drei Phasen: Parsen, Kompilieren und Ausführung; 2) Während des Ausführungsprozesses führt die Engine dynamische Optimierung durch, wie z. B. Inline -Cache und versteckte Klassen. 3) Zu Best Practices gehören die Vermeidung globaler Variablen, die Optimierung von Schleifen, die Verwendung von const und lass und die Vermeidung übermäßiger Verwendung von Schließungen.

Python und JavaScript haben ihre eigenen Vor- und Nachteile in Bezug auf Gemeinschaft, Bibliotheken und Ressourcen. 1) Die Python-Community ist freundlich und für Anfänger geeignet, aber die Front-End-Entwicklungsressourcen sind nicht so reich wie JavaScript. 2) Python ist leistungsstark in Bibliotheken für Datenwissenschaft und maschinelles Lernen, während JavaScript in Bibliotheken und Front-End-Entwicklungsbibliotheken und Frameworks besser ist. 3) Beide haben reichhaltige Lernressourcen, aber Python eignet sich zum Beginn der offiziellen Dokumente, während JavaScript mit Mdnwebdocs besser ist. Die Wahl sollte auf Projektbedürfnissen und persönlichen Interessen beruhen.

Sowohl Python als auch JavaScripts Entscheidungen in Entwicklungsumgebungen sind wichtig. 1) Die Entwicklungsumgebung von Python umfasst Pycharm, Jupyternotebook und Anaconda, die für Datenwissenschaft und schnelles Prototyping geeignet sind. 2) Die Entwicklungsumgebung von JavaScript umfasst Node.JS, VSCODE und WebPack, die für die Entwicklung von Front-End- und Back-End-Entwicklung geeignet sind. Durch die Auswahl der richtigen Tools nach den Projektbedürfnissen kann die Entwicklung der Entwicklung und die Erfolgsquote der Projekte verbessert werden.
