這篇文章主要介紹了寫輕量級ajax元件01-與webform平台上的各種實現方式比較,需要的朋友可以參考下
前言
Asp.net WebForm 和Asp.net MVC(簡稱MVC) 都是基於Asp.net的web開發框架,兩者有很大的區別,其中一個就是MVC更加註重http本質,而WebForm試圖屏蔽http,為此提供了大量的伺服器控制項和ViewState機制,讓開發人員可以像開發Windows Form應用程式一樣,基於事件模型去程式設計。兩者各有優缺點和適用情景,但MVC現在是許多Asp.net開發者的首選。
WebForm是建立在Asp.net的基礎上的,Asp.net提供了足夠的擴展性,我們也可以利用這些在WebForm下編寫像MVC一樣的框架,這個有機會再寫。說到WebForm很多人就會聯想到伺服器控件(拖曳控件!!!),其實不然,我們也可以完全不使用伺服器控件,像MVC一樣關注html。 WebForm要拋棄伺服器控件,集中在html,首先就要將
標籤去掉,這個runat server 的form 是其PostBack機制的基礎。既然我們要回歸到html css js,那麼意味著許多東西都要自己實現,例如處理Ajax請求。不像MVC那樣,WebForm開始的設計就將伺服器控制項當作主要組成部分,如果不使用它,那麼只能利用它的擴充性去實作。本系列就是實作一個基於WebForm平台的輕量ajax元件,主要分為三個部分:
1. 介紹WebForm下各種實作方式。
2. 分析ajaxpro組件。
3. 寫出自己的ajax元件。
一、Ajax簡介
非同步允許我們在不刷新整個頁面的情況下,像伺服器請求或提交資料。對於複雜的頁面,為了請求一點資料而重載整個頁面顯然是很低效的,ajax就是為了解決這個問題的。 ajax的核心是XmlHttpRequest對象,透過該對象,以文字的形式向伺服器提交請求。 XmlHttpRequest2.0後,也支援提交二進位資料。
ajax安全:出於安全考慮,ajax受同源策略限制;也就是只能存取同一個域、同一個連接埠的請求,跨域請求會被拒絕。當然有時候需求需要跨域發送請求,常用的跨域處理方法有CORS(跨域資源共享)和JSONP(參數式JSON)。
ajax資料互動格式:雖然Ajax核心物件XmlHttpRequest有"XML"字眼,但客戶端與伺服器資料交換格式不限於xml,例如現在更多是使用json格式。
ajax 也是有缺點的。例如對搜尋引擎的支援不太好;有時候也會違背url資源定位的初衷。
二、Asp.net MVC 平台下使用ajax
在MVC裡,ajax呼叫後台方法非常方便,只需要指定Action的名稱即可。
前台程式碼:
<body> <h1 id="index">index</h1> <input type="button" value="GetData" onclick="getData()" /> <span id="result"></span> </body> <script type="text/javascript"> function getData() { $.get("GetData", function (data) { $("#result").text(data); }); } </script>
# 後台程式碼:
##
public class AjaxController : Controller { public ActionResult GetData() { if(Request.IsAjaxRequest()) { return Content("data"); } return View(); } }
#三、WebForm 平台下使用ajax
3.1 基於伺服器控制項套件或第三方元件
這是基於伺服器控制項的,例如ajax toolkit工具包,或像FineUI這樣的元件。 web前端始終是由html css js組成的,只不過如何去產生的問題。原生的我們可以自己寫,或是用一些前端插件;基於伺服器控制項的,都是在後台產生的,通常效率也低一點。伺服器元件會在前台產生一系列代理,本質還是一樣的,只不過控制項封裝了這個過程,不需要我們自己寫。基於控制項或第三方元件的模式,在某些管理系統還挺有用的,訪問量不是很大,可以快速開發。3.2 基於ICallbackEventHandler介面
.net 提供了ICallbackEventHandler接口,用於處理回調請求。此介面需要用ClientScriptManager在前台產生代理腳本,用於傳送和接收請求,所以需要以上是編寫輕量ajax元件01-與webform平台上的各種實作方式比較的詳細內容。更多資訊請關注PHP中文網其他相關文章!

不同JavaScript引擎在解析和執行JavaScript代碼時,效果會有所不同,因為每個引擎的實現原理和優化策略各有差異。 1.詞法分析:將源碼轉換為詞法單元。 2.語法分析:生成抽象語法樹。 3.優化和編譯:通過JIT編譯器生成機器碼。 4.執行:運行機器碼。 V8引擎通過即時編譯和隱藏類優化,SpiderMonkey使用類型推斷系統,導致在相同代碼上的性能表現不同。

JavaScript在現實世界中的應用包括服務器端編程、移動應用開發和物聯網控制:1.通過Node.js實現服務器端編程,適用於高並發請求處理。 2.通過ReactNative進行移動應用開發,支持跨平台部署。 3.通過Johnny-Five庫用於物聯網設備控制,適用於硬件交互。

我使用您的日常技術工具構建了功能性的多租戶SaaS應用程序(一個Edtech應用程序),您可以做同樣的事情。 首先,什麼是多租戶SaaS應用程序? 多租戶SaaS應用程序可讓您從唱歌中為多個客戶提供服務

本文展示了與許可證確保的後端的前端集成,並使用Next.js構建功能性Edtech SaaS應用程序。 前端獲取用戶權限以控制UI的可見性並確保API要求遵守角色庫

JavaScript是現代Web開發的核心語言,因其多樣性和靈活性而廣泛應用。 1)前端開發:通過DOM操作和現代框架(如React、Vue.js、Angular)構建動態網頁和單頁面應用。 2)服務器端開發:Node.js利用非阻塞I/O模型處理高並發和實時應用。 3)移動和桌面應用開發:通過ReactNative和Electron實現跨平台開發,提高開發效率。

JavaScript的最新趨勢包括TypeScript的崛起、現代框架和庫的流行以及WebAssembly的應用。未來前景涵蓋更強大的類型系統、服務器端JavaScript的發展、人工智能和機器學習的擴展以及物聯網和邊緣計算的潛力。

JavaScript是現代Web開發的基石,它的主要功能包括事件驅動編程、動態內容生成和異步編程。 1)事件驅動編程允許網頁根據用戶操作動態變化。 2)動態內容生成使得頁面內容可以根據條件調整。 3)異步編程確保用戶界面不被阻塞。 JavaScript廣泛應用於網頁交互、單頁面應用和服務器端開發,極大地提升了用戶體驗和跨平台開發的靈活性。

Python更适合数据科学和机器学习,JavaScript更适合前端和全栈开发。1.Python以简洁语法和丰富库生态著称,适用于数据分析和Web开发。2.JavaScript是前端开发核心,Node.js支持服务器端编程,适用于全栈开发。


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

MinGW - Minimalist GNU for Windows
這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。

WebStorm Mac版
好用的JavaScript開發工具

SecLists
SecLists是最終安全測試人員的伙伴。它是一個包含各種類型清單的集合,這些清單在安全評估過程中經常使用,而且都在一個地方。 SecLists透過方便地提供安全測試人員可能需要的所有列表,幫助提高安全測試的效率和生產力。清單類型包括使用者名稱、密碼、URL、模糊測試有效載荷、敏感資料模式、Web shell等等。測試人員只需將此儲存庫拉到新的測試機上,他就可以存取所需的每種類型的清單。

Dreamweaver Mac版
視覺化網頁開發工具

Safe Exam Browser
Safe Exam Browser是一個安全的瀏覽器環境,安全地進行線上考試。該軟體將任何電腦變成一個安全的工作站。它控制對任何實用工具的訪問,並防止學生使用未經授權的資源。