999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

ashx一般處理程序在ASP.NET Ajax中的應用

2020-08-06 00:58:48
淮北職業技術學院學報 2020年4期
關鍵詞:引擎頁面用戶

馮 菁

(淮北職業技術學院 計算機科學與技術系,安徽 淮北 235000)

0 引言

ashx一般處理程序,可用它來處理Ajax請求,通過繼承HttpHandler類(或是實現IHttpHandler接口),從而免去了普通aspx頁面控件解析以及頁面處理的過程。[1]NET Framework在默認情況下,把aspx WEB頁面的Request請求交給HttpHandlerFactory來處理的,當頁面的一個HTTP請求到達時,HttpHandlerFactory會提供出一個HttpHandler容器,HTTP請求最終交給HttpHandler容器中的ProcessRequest方法來處理的。Ajax是Asynchronous JavaScript and XML的縮寫,即異步JavaScript和XML技術。[2]通過該技術的使用,實現了頁面的局部刷新,減小了網絡流量,改善用戶體驗,提升了系統的運行速度。在ASP.NET中結合使用JQuery+ashx一般處理程序,實現Ajax技術。

1 ASP.NET Ajax架構

ASP.NET Ajax使得Ajax程序設計變得簡單,使用ASP.NET中的Ajax可快速創建包含具有快速響應能力且熟悉的用戶界面元素的網頁,豐富了用戶的體驗。[2]ASP.NET Ajax中的JavaScript是跨平臺的,支持多個瀏覽器,不會因PostBack而讓整個頁面重新加載造成閃動,可以實現Web頁面局部更新,異步取回服務器端的數據,用戶無需等待也不被打斷,提升頁面響應能力。

1.1 ASP.NET Ajax組成

ASP.NET Ajax主要有四個部分,Ajax服務器端控件、Ajax服務器端擴展控件、Ajax服務器端遠程Web Service橋、Ajax客戶端代理。[3]ASP.NET從4.0版開始,完全集成了Ajax框架,在Visual Studio 2010及以上版本中工具箱里就可以找到Ajax控件.ASP.NET Ajax客戶端架構主要有API、API函數、基礎類庫、封裝的XMLHttpRequest對象、Ajax XML引擎、ASP.NET Ajax客戶端控件等。[3]

在Ajax應用中,Ajax引擎相當于中間通訊層,Web頁面HTTP請求通過Ajax引擎與服務器端進行通信,響應返回的結果提交給Ajax引擎,再由Ajax引擎來決定將這些數據顯示到頁面的指定位置.在Ajax中,變成對Ajax引擎的一次調用.只對部分頁面進行更新。[3]

Ajax Web頁面的工作過程如圖1所示:

圖1 Ajax工作過程

2 ashx一般處理程序

一般處理程序HttpHandler是一種.NET WEB組件,擴展名為.ashx 文件,采用它來處理Ajax請求,當文件需要動態返回來自查詢字符串或XML和其它非HTML網頁的圖像時。采用JQuery和.NET技術,ashx頁面接收參數,然后返回值.瀏覽頁面時是無法看到編寫的源代碼的.ashx文件在.NET中要繼承IHttpHandler接口,該接口里有IsReusable成員,指定IHttpHandler實例是否可以用來處理多個請求、方法ProcessRequest(HttpContext context)處理接受到的Http請求。

3 Ajax+ashx實現頁面異步加載

各類WEB應用中都有數據庫的訪問操作,注冊是一個常用的功能。應用Ajax設計ASP.NET Web注冊頁面,Ajax無刷新感檢測用戶名。測試用戶名是否重名,只刷新部分頁面。

具體設計思路如下:

(1)需要一個一般處理程序.ashx,傳入用戶名進行檢索,設計Select語句,如果用戶名已使用或未使用返回一個不同值的標識變量。

(2)使用JQuery的ajax,這里使用JQuery.get()方式,請求剛才的ashx文件,并將用戶名作為參數傳過去,get()是Request.QueryString接收,Ajax過程完成之后會返回標識變量,再根據此標識確定是否可以使用新填寫的注冊用戶名。

3.1 注冊界面

注冊界面設計如圖2所示:需在網站主目錄中添加JQuery插件jquery-1.4.1-vsdoc.js, 在頁面加上JQuery插件.

圖2 注冊頁面界面

3.2 一般處理程序isName.ashx

使用.ashx文件(一般處理程序)實現IHTTPHandler接口,不像aspx要繼承Page類,處理控件和事件等, HttpHandler是HTTP請求的真正處理中心,直接用于處理客戶端發送來的請求,并將服務器端的處理結果返回給客戶端.ashx文件的具體處理過程要比aspx要簡單得多。

繼承IHttpHandler接口,重寫ProcessRequest方法(),并添加數據庫里查找指定用戶名的方法IsNName().

關鍵代碼如下:public void ProcessRequest (HttpContext context) {

定義字符串變量resp;

string strName = context.Request.QueryString["userName"];

if (IsNName(strName))

{字符串resp變量值為”1”或”0”}

輸出數據(resp);

……

}

private bool IsNName(string strName)

{

bool boolName;

連接數據庫;

查找用戶表是否有strName這條記錄;

查找結果放入boolName真假值;

3.3 JQuery使用

在注冊Web頁面中,用戶名文本框失去焦點事件CheckUsername(),HTML+JavaScript用$.ajax(url)這個函數發送數據到ashx文件,此文件用Request.QueryString[...]接收數據。

關鍵代碼如下:

function CheckUsername() {

strName獲取文本框的值;

flag開關;

$.ajax({

……

url: "../ajax/IsName.ashx?userName=" + encodeURI(strName),

success: function(msg) {

{根據返回信息,給出用戶名是否可用,并設置開關flag}

返回flag

}

3.4 運行效果

頁面即時出現提示用戶名是否可用,用戶無刷新抖動的感覺。

圖3 用戶名檢測即時效果

4 其它技術實現Ajax.

在ASP.NET中實現Ajax,可根據個人習慣使用JavaScript、jquery插件,還可以選擇.NET自己封裝的Ajax控件,方法各有特點。

使用Ajax擴展EXT 控件,優勢在于支持UI,需安裝AjaxControlToolkit,或是需要添加引用System.Web.Extensions.dll。在建Ajax頁面時一定先添加ScriptManager控件, 執行Ajax JavaScript庫的鏈接,才能讓Page局部更新起作用。[3]再添加UpdatePanel控件,并在其ContentTemplate內容模板添加內置控件、表格、HTML代碼等.這樣可以使用很少的客戶端腳本或不使用客戶端腳本就能創建豐富的客戶端行為,局部更新可避免整頁回發的開銷。需要在Web.Config的元素中添加或修改元素。

NET Framework 4.0之前版本中使用ASP.NET Ajax ,需要在ScriptManager控件所在頁面,通過腳本調用Web 服務,要指明Web服務所在的文件地址,[4]擴展名為asmx Web Service文件,WebServices+JQuery可實現Ajax頁面部分刷新;在.NET Framework 4.0以后版本Ajax中調用WCF服務。

5 總結

通過ashx來調用HttpHandler類,HttpHandler是一個徹底自定義Http請求方法,ashx少了處理了html的過程。免去了普通.aspx頁面的控件解析以及頁面處理的過程,直接返回Web http請求想要返回的結果,速度快.ashx文件適合產生供瀏覽器處理的、不需要回發處理的數據格式,例如生成動態圖片、動態文本等內容。

.ashx文件也有缺點,它處理控件的回發事件非常麻煩,需自己手動完成;并且它只能處理一個請求,如有多個請求需寫對應的多個ashx文件。

猜你喜歡
引擎頁面用戶
大狗熊在睡覺
刷新生活的頁面
保健醫苑(2022年1期)2022-08-30 08:39:14
藍谷: “涉藍”新引擎
商周刊(2017年22期)2017-11-09 05:08:31
關注用戶
商用汽車(2016年11期)2016-12-19 01:20:16
關注用戶
商用汽車(2016年6期)2016-06-29 09:18:54
關注用戶
商用汽車(2016年4期)2016-05-09 01:23:12
無形的引擎
河南電力(2015年5期)2015-06-08 06:01:46
基于Cocos2d引擎的PuzzleGame開發
如何獲取一億海外用戶
創業家(2015年5期)2015-02-27 07:53:25
同一Word文檔 縱橫頁面并存
主站蜘蛛池模板: 国产91在线|日本| 日韩国产综合精选| 午夜激情福利视频| 亚欧美国产综合| 欧美黄网站免费观看| 成人亚洲天堂| 亚洲国产av无码综合原创国产| 亚洲国产日韩一区| 国产精品露脸视频| 日韩a在线观看免费观看| 国产成人精品18| 19国产精品麻豆免费观看| 日本欧美在线观看| 农村乱人伦一区二区| 国产一二三区在线| 曰韩免费无码AV一区二区| 老色鬼久久亚洲AV综合| 久久人午夜亚洲精品无码区| 国产91久久久久久| 亚洲天堂777| 国产精品冒白浆免费视频| 国产在线精品人成导航| 久久毛片基地| 日韩AV无码免费一二三区| 亚洲侵犯无码网址在线观看| 国产拍在线| 国产网站黄| 国产成人精品在线| 男女猛烈无遮挡午夜视频| 久久这里只有精品2| 秋霞午夜国产精品成人片| 国产天天射| 精品少妇人妻av无码久久| 手机在线国产精品| 91在线高清视频| 欧美日韩国产综合视频在线观看 | 99热亚洲精品6码| 青青草91视频| 午夜福利在线观看成人| 久久精品无码国产一区二区三区| 国产网站一区二区三区| 亚洲 日韩 激情 无码 中出| 欧美区国产区| 国产在线精品99一区不卡| 狠狠色婷婷丁香综合久久韩国| 91久久偷偷做嫩草影院| 亚洲综合精品香蕉久久网| 中文字幕欧美成人免费| 亚洲女人在线| 天堂成人在线视频| 亚洲午夜久久久精品电影院| 真实国产乱子伦高清| 欧美伊人色综合久久天天| 91精品国产丝袜| 久久久久亚洲精品无码网站| 色综合久久88色综合天天提莫| 玩两个丰满老熟女久久网| 色丁丁毛片在线观看| 亚洲AV一二三区无码AV蜜桃| 国产你懂得| 国产精品久久久久久久伊一| 亚洲第一成年网| 亚洲电影天堂在线国语对白| 国产成人乱无码视频| 国产全黄a一级毛片| 99精品在线视频观看| 被公侵犯人妻少妇一区二区三区| 国产精品黑色丝袜的老师| 亚洲大尺码专区影院| 亚洲精品无码不卡在线播放| 亚洲色精品国产一区二区三区| 国产91精品调教在线播放| 伊人网址在线| 国内视频精品| 麻豆AV网站免费进入| 亚洲综合第一区| 日韩在线播放中文字幕| 国产精品一区二区国产主播| 国产啪在线91| 国产日本欧美在线观看| 天天爽免费视频| 天天婬欲婬香婬色婬视频播放|