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.
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.
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.
In contrast, using JavaScript and AJAX:
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.
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.
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!