欧美三区四区_av先锋影音资源站_亚洲第一论坛sis_影音先锋2020色资源网_亚洲精品社区_在线免费观看av网站_国产一区二区伦理_亚洲欧美视频一区二区_99视频精品全部免费在线_精精国产xxxx视频在线

如何不用組件實現Ajax效果_AJAX教程

編輯Tag賺U幣
教程Tag:暫無Tag,歡迎添加,賺取U幣!

推薦:ajax跨域訪問代理文件下載(asp、php、asp.net)
最近做東西遇到了ajax跨域(cross domain)訪問的問題,最后采用了Application Proxies 方式解決,即在本域內放置一個代理文件(視本域支持的開發語言選定asp、asp.net或是其他),此代理文件將url參數(QueryString)發送到目標域對應頁面獲取html代碼,然

現在.NET的Ajax組件確實不少了,微軟的ajax extensions用起來很方便,一個UpdatePanel就可以搞定一切。不過,可能有些朋友更愿意自己來寫。那么在.NET里,你是否知道ICallbackEventHandler呢?

大家應該都知道ASP.NET頁面調用時的幾種方式:Postback/Cross-page posting/Server transfer/Callback,如果你還不太了解,你可以看看MSDN:How t Determine How ASP.NET Web Pages Were Invoked

現在要說的,就是Callback這種調用方式。
簡單的說,使用Callback可以得到你平?吹侥敲碅jax效果,即不刷新整個頁面,只更新其中一個部分。

使用Callback,只需要做以下4步:

1、在你的頁面中繼承System.Web.UI.ICallbackEventHandler接口。

public partial class _Default : System.Web.UI.Page, System.Web.UI.ICallbackEventHandler
{
protected void Page_Load(object sender, EventArgs e)
{
}
#region ICallbackEventHandler Members
public string GetCallbackResult()
{
}
public void RaiseCallbackEvent(string eventArgument)
{
}
#endregion
}

如果你沒有使用code-behind,那你也可以在aspx頁面頂部加入下面的代碼:

<%@ Implements Interface="System.Web.UI.ICallbackEventHandler" %>

2、在前臺寫一段自定義的javascript,更新頁面

這一段javascript用來更新頁面的某個局部,就像你平常操作的一樣,寫些document.getElementById("xxx").innerHTML="working on your request...."。

<script type="text/javascript">
function GetFlag(arg)//這里已經得到服務器端數據據了,服務器端數據就在這個參數arg里。
{
document.getElementById("result").innerHTML=arg;//我們不作處理,直接顯示在頁面上。
}
</script>

你可能有些迷糊,就得到了嗎?連個什么XMLHttpRequest都沒有哩……

3、在Page_Load中再注冊一段javascript

string script = Page.ClientScript.GetCallbackEventReference(this, "arg", "GetFlag", "");
Page.ClientScript.RegisterClientScriptBlock(this.GetType(), .......//省略了一大串

上面的GetCallbackEventReference是用來得到客戶端函數的引用,發起一個callback到服務器端的,你不必知道詳細內容。

你只需要了解:

  • 第一個參數填this,用來handle客戶端的callback的,它必須繼承ICallbackEventHandler接口并提供RaiseCallbackEvent方法,我們已經在繼承了這個接口,上面第一點中的代碼也有RaiseCallbackEvent方法,只是還沒有具體寫內容呢。
  • 第二個參數就是那個 從客戶端傳到服務器端的參數。如果你想要注冊的檢查用戶是否可用,那么這里的值就是用戶輸的那個值。
  • 第三個參數是前臺的javascript函數名,在第二步中我們寫的名字是:GetFlag。當數據好了,這個javascript函數就會用到。
  • 第四個參數一般用不上。

返回值:一個函數的名字,是客戶端調用的函數名。這個函數會調用到服務器端了。

4、調用你的函數。

<input type="button" value="check it!" onclick="callServer()" />

上面一定是 onclick="callServer()"嗎?呵呵,這要看你了,你在Page.ClientScript.RegisterClientScriptBlock注冊的什么javascript函數名字,就是什么名字了。(在第3步的第二行code中)

已經完了。如果你還是一頭霧水,沒關系,下面看一個實例

我們寫一個檢測用戶是否已經注冊的小程序,這在每個用戶注冊頁面上都可以用到。

前臺Default.aspx:

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" EnableViewState="false" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>ICallbackEventHandler Demo</title>
<style type="text/css">
*{font: 12px "verdana";}
#user{border:1px solid #080; height:50px;width:500px;padding:20px;}
input{border:1px solid #508FCC;background:#FFF;}
.ok{color:#090;}
.bad{color:#F00}
#result{display:inline;margin: 0 5px 0;}
</style>
<script type="text/javascript">
function GetFlag(arg)//這里的javascript函數就是服務器查詢完成要調用的函數,我們把服務器返回的數據直接顯示上ID為result的div中。
{
document.getElementById("result").innerHTML=arg;
}
</script>
</head>
<body>
<form id="form1" runat="server">
<div id="user">
<input type="text" value="99love" maxlength="10" id="userid" />
<input type="button" value="check it!" onclick="callServer()" /><div id="result">查詢用戶是否被使用。</div>
</div>
</form>
</body>
</html>

上面有一個<input type="button" value="check it!" onclick="callServer()" />,這是我說的第5步的內容,這個函數名字callServer應該和Lage_Load中注冊的相對應的。

后臺Default.aspx.cs:

using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
public partial class _Default : System.Web.UI.Page, System.Web.UI.ICallbackEventHandler
{
private string _arg = string.Empty;
protected void Page_Load(object sender, EventArgs e)
{
string script = Page.ClientScript.GetCallbackEventReference(this, "arg", "GetFlag", "");//上面的第3步,取得這個客戶端函數名,script的值可能是這樣的:WebForm_DoCallback('__Page',arg,GetFlag,\"\",null,false)
Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "callServer", "\nfunction callServer(){\ndocument.getElementById(\"result\").innerHTML=\"正在檢查 \"+document.getElementById(\"userid\").value+\" 的可用性,請稍候...\";\nvar arg=document.getElementById(\"userid\").value;\n" + script + ";\n}", true);
//上面這一行有點長了,第二個參數最長,看到function callServer()了嗎,這就是和前臺對應的那個函數名<input onclick=XXX,請記得,一定要在callServer函數中加入script的值,也就是上一行的上一行(17行)那個值。注意后面的var arg=...,這個arg和17行的arg是對應的。
}
#region ICallbackEventHandler Members
public string GetCallbackResult()
{
System.Threading.Thread.Sleep(1000);//讓線程睡一會,我們好看效果。這是用來模擬不良網絡狀況的。
return _arg;//返回一個string型,這個string在RaiseCallbackEvent函數中是賦過值的,看下面哦。
}
public void RaiseCallbackEvent(string eventArgument)
{
if (eventArgument.Equals("99love") || eventArgument.Equals("blueidea"))//假設這兩個名字不能注冊,實際操作中,你要是比對數據庫記錄的,我們現在簡化處理了。
_arg = string.Format("<span class=\"bad\">很遺憾,{0} 已被使用。</span>", eventArgument);//要么已經注冊了
else
_arg = string.Format("<span class=\"ok\">恭喜您,{0} 可以注冊。</span>", eventArgument);//要么就可以注冊
}
#endregion
}

運行截圖:

UI設計

 

分享:Ajax教程之簡單應用,檢測用戶名是否存在
客戶端頁面index.html onal.dtd html xmlns=1999/xhtml head titleajax測試用戶名是否存在/title script language=

來源:模板無憂//所屬分類:AJAX教程/更新時間:2010-02-25
相關AJAX教程
91在线色戒在线| 一区二区三区视频在线看| 亚洲欧美国产日韩中文字幕| 久久久久久久久久久久久久久久av| 一本大道熟女人妻中文字幕在线| 在线观看亚洲天堂| 日本不卡高清| 一区二区三区中文免费| 欧美一级高清免费| 91视频这里只有精品| 亚洲精品成av人片天堂无码| 欧美综合二区| 日韩欧美中文字幕制服| 免费h精品视频在线播放| 欧美一区二区三区观看| 91成人精品在线| 国产欧美日韩麻豆91| 美女av一区二区三区| 国产一区二区视频播放| 亚洲视频在线免费播放| 亚洲人成人一区二区三区| 欧美私人免费视频| 国产欧美精品一区二区三区| 香蕉成人在线视频| 久久久免费毛片| 中文字幕制服丝袜一区二区三区| 欧美激情欧美狂野欧美精品| 别急慢慢来1978如如2| 精品国产九九九| 老汉av免费一区二区三区| 亚洲精品一区二区三区蜜桃下载 | 国产精久久久久| 香蕉成人av| kk眼镜猥琐国模调教系列一区二区| 精品五月天久久| 成人国产在线看| 在线视频免费观看一区| 日本伊人色综合网| 精品无人区太爽高潮在线播放| 手机福利在线视频| 国产精品露脸视频| 天堂成人免费av电影一区| 亚洲高清在线观看| 97中文字幕在线| 99久久久久久久| 极品尤物av久久免费看| 在线观看久久av| 国产福利视频在线播放| 天天综合网在线| 成人a免费在线看| 欧美情侣性视频| www.com污| 色综合视频一区二区三区44| 欧美国产日韩一二三区| 国产精品久久久久高潮| 中文字字幕码一二三区| 欧美亚洲tv| 五月婷婷欧美视频| 精品国产一区二区三区四区vr| www.xxxx日本| 欧美一区二区三区久久精品茉莉花| 欧美丝袜自拍制服另类| 丝袜足脚交91精品| 中文区中文字幕免费看| 麻豆一区二区99久久久久| 伊人伊成久久人综合网小说| 日韩手机在线观看视频| 性欧美超级视频| 国产日韩欧美麻豆| 国产精品久久久久久久久久| 成人小视频免费看| 正在播放日韩欧美一页 | 黄色一级片中国| 欧美高清一区| 精品久久久久久久久久久久久久久| 免费观看黄色大片| 精品国产18久久久久久| 成人美女在线视频| 欧美在线视频导航| 国产午夜福利一区| 欧美一区二区三区免费看| 精品国产免费人成电影在线观看四季| 亚洲综合五月天| 国产女人高潮时对白| 国产不卡视频在线观看| 91国产美女在线观看| 伊人网在线视频观看| 色88久久久久高潮综合影院| 91精品国产色综合久久不卡蜜臀| 欧美日韩在线免费观看视频| aaa一区二区三区| av在线不卡电影| 国产精品久久久久福利| 久久r这里只有精品| 亚洲另类黄色| 中文字幕在线观看亚洲| 免费在线观看日韩av| 中文有码一区| 欧美一区二区三级| 欧美在线观看成人| 韩国一区二区三区视频| 精品久久久久久国产91| 亚洲无玛一区| 五月天婷婷社区| 国产精品丝袜一区| 国产精品视频福利| 亚洲天堂自拍偷拍| 91香蕉国产在线观看软件| 国产美女主播一区| 国产午夜精品无码| 麻豆精品国产传媒mv男同| 欧美黄色片免费观看| 亚洲精品色午夜无码专区日韩| 国产精品久久久久久久| 亚洲国产一区二区三区在线观看| 亚洲人成无码www久久久| 中文字幕一区二区三区四区久久 | 国产精品人成在线观看免费| 国产高清在线一区| 91激情在线观看| 久久久99精品免费观看| 国产精品国色综合久久| 91 中文字幕| 国产日产欧美一区二区三区| 国产欧美一区二区三区另类精品| 丰满熟女人妻一区二区三| av成人免费在线| av一区和二区| 国产精品永久久久久久久久久| 99在线精品视频| 91亚洲精品丁香在线观看| 中文字幕av网站| 国产欧美一区二区在线| 久久99精品久久久水蜜桃| 亚洲国产视频一区二区三区| 亚洲视频精选在线| 亚洲午夜精品一区二区| 偷拍精品精品一区二区三区| 午夜av一区二区| 毛片在线播放视频| 大香伊人久久精品一区二区 | 国产一区二区播放| 日韩成人精品在线观看| 欧美在线视频观看免费网站| 久久9999久久免费精品国产| 韩国女主播成人在线观看| 国产精品69久久| 69亚洲精品久久久蜜桃小说 | 人妻内射一区二区在线视频| 国产精品色呦| 日韩精品一区二区三区视频| 黄色a级三级三级三级| 国产精品二区不卡| 久久精品视频va| 一级性生活免费视频| 另类成人小视频在线| 国产精品视频内| 亚洲图片中文字幕| 亚洲视频精选在线| 日本一级黄视频| 国产成人精品福利| 日韩成人av一区| 久久久国产精品无码| 99精品国产一区二区青青牛奶| 欧美成人h版在线观看| 青娱乐av在线| 成人av在线电影| 精选一区二区三区四区五区| 日韩成人av电影| 欧美色图在线观看| 热久久久久久久久| 国自产拍偷拍福利精品免费一| 久久99国产综合精品女同| 久久免费黄色网址| 2020国产精品自拍| 日韩欧美一区在线| 国产精自产拍久久久久久蜜| 在线免费av网| 亚洲美女屁股眼交| 亚洲人成无码网站久久99热国产| 一区二区日韩| 日韩禁在线播放| 久久婷婷五月综合| 国产麻豆成人传媒免费观看| 国产精品一区免费观看| 欧美大胆成人| 91精品免费观看| 在线免费观看污视频| 日本成人中文字幕在线视频| 91影院在线免费观看视频| 日本韩国在线观看| 欧美亚洲国产一卡| 国产精品一级无码| 日韩精品免费专区| 999视频在线观看| 小黄鸭精品aⅴ导航网站入口| 在线一区二区三区四区| 国产不卡的av| 三级成人在线视频| 99爱精品视频| 欧美日韩视频免费观看| 日韩区在线观看| 国产jk精品白丝av在线观看| 国产成人综合在线观看| 日本亚洲导航| 国产精品中文字幕制服诱惑| 中文国产亚洲喷潮| 国产午夜福利精品| 亚洲男女毛片无遮挡| 国产成人黄色片| 欧美日一区二区在线观看| 国产精品jizz在线观看麻豆| 亚洲AV无码国产精品午夜字幕| 日韩欧美国产中文字幕| 无码国产精品一区二区高潮| 奇米影视在线99精品| 国内成+人亚洲| 嫩呦国产一区二区三区av| 亚洲免费伊人电影在线观看av| 欧美美女性生活视频| 久久亚区不卡日本| 黄色一级片黄色| 99久久亚洲精品蜜臀| 欧美在线一级va免费观看| 午夜精品久久久久久久99热黄桃| 欧美性猛交xxxxx水多| 国产人妖在线观看| 国产麻豆9l精品三级站| 一区二区三区四区欧美日韩| 精品国产91久久久久久浪潮蜜月| 欧美极品在线视频| 国产www视频| 88在线观看91蜜桃国自产| 亚洲午夜精品久久久久久高潮| 成人的网站免费观看| 男女啪啪免费观看| 欧美69wwwcom| 成人精品久久av网站| 欧美成人毛片| 中文字幕亚洲综合久久| 波多野结衣视频观看| 日本韩国视频一区二区| 给我看免费高清在线观看| 高清成人免费视频| 波多野结衣与黑人| 欧美视频在线观看| 国产99午夜精品一区二区三区| 色999韩欧美国产综合俺来也| 亚洲欧美一区二区三区四区| 日韩欧美三级在线观看| 亚洲综合一区二区精品导航| xxxx视频在线观看| 成人午夜视频在线| 91午夜在线观看| 亚洲国产高清一区二区三区| 动漫精品视频| 日韩精品丝袜美腿| 日产精品99久久久久久| 最新欧美电影| 中文字幕在线日韩| 国产精品无码免费播放| 日韩欧美亚洲另类制服综合在线| www.xx日本| 亚洲精品福利视频网站| 极品白嫩的小少妇| 91视频www| 国产免费又粗又猛又爽| 精品一区二区影视| 蜜桃视频一区二区在线观看| 亚洲性人人天天夜夜摸| 久久99九九| 欧美先锋资源| 91久久精品国产91久久| 北条麻妃一区二区三区在线观看| 九九精品在线观看| 农村少妇久久久久久久| 亚洲欧美激情精品一区二区| 日本黄色中文字幕| 91精品国产综合久久精品麻豆 | 日韩美脚连裤袜丝袜在线| 欧洲精品在线视频| 久久精品超碰| 久久久久久国产精品美女| 欧美freesex| 精品国模在线视频| 国产香蕉在线观看| 亚洲色图色老头| 国产乱淫片视频| 日韩av在线高清| 亚洲天堂网视频| 亚洲国产女人aaa毛片在线| 无码人妻精品一区二区三区9厂 | 欧美成熟毛茸茸复古| 久久精品国产99久久| 国产98在线|日韩| 欧美性感美女一区二区| 国产成人av一区二区三区| 亚洲深夜福利在线观看| 成人激情电影一区二区| 亚洲动漫精品| 亚洲综合中文字幕在线| 亚洲人成网www| 96pao国产成视频永久免费| 亚洲另类春色校园小说| 成人有码在线播放| 欧美人与拘性视交免费看| 3d精品h动漫啪啪一区二区| 视频一区中文| 国产精品视频入口| 91精品国产视频| 欧美不卡在线一区二区三区| 国产一区视频在线观看免费| 日韩午夜视频在线观看| 99精品免费网| 欧洲精品视频在线| 免费国产亚洲视频| 男人和女人啪啪网站| 国产成人精品三级| 亚洲这里只有精品| 国产欧美日韩不卡| jlzzjizz在线播放观看| 亚洲精品免费看| 亚洲激情视频小说| 精品久久久久久亚洲国产300| 国产视频不卡在线| 欧美日韩一区二区三区| 69av.com| 欧美一区二区福利在线| 中文字幕福利视频| 亚洲另类欧美自拍| 樱桃视频成人在线观看| 欧美黑人极品猛少妇色xxxxx| 日韩在线激情| 国产精品视频yy9099| 国产午夜伦鲁鲁| 国自产拍偷拍福利精品免费一| 欧美日韩大片一区二区三区 | 激情亚洲成人| 水蜜桃在线免费观看| 久久av资源网| 最新天堂中文在线| 国产精品国产三级国产普通话蜜臀| 免费的av网站| 婷婷丁香激情综合| 黄色片视频网站| 日韩av网站大全| 天堂中文网在线| 77777亚洲午夜久久多人| 欧美一级一片| 久久精品ww人人做人人爽| 中文精品视频| 欧美 国产 综合| 久久影院视频免费| 欧美特黄一区二区三区| 色欧美日韩亚洲| 波多野结衣激情视频| 深夜成人在线观看| 超碰国产精品一区二页| 亚洲精品免费av| 欧美精品色网| 欧美视频在线观看网站| 91视频免费播放| 日韩精品无码一区二区三区久久久| 精品欧美aⅴ在线网站| 天堂网av手机版| 亚洲欧美综合图区| 99久久亚洲国产日韩美女| 国产精品久久久久久久久久尿| 精品久久久久久久久久久aⅴ| 日韩欧美亚洲日产国| 极品少妇一区二区| 少妇极品熟妇人妻无码| 欧美色播在线播放| 国产免费www| 欧美精品一区三区| 欧美久久精品| 日韩国产欧美精品| 国产一区二区不卡在线| 95视频在线观看| 色综合久久中文综合久久97| 亚洲一区二区色| 欧美激情啊啊啊| 久久99青青| 警花观音坐莲激情销魂小说| 波多野结衣一区二区三区| 精品无码一区二区三区| 欧美日韩高清不卡| 日韩一级片免费观看| 国产精品久久久久高潮| 欧美日韩视频| 久久精品视频91| 亚洲免费福利一区| 欧美人与性动交| 亚洲精品推荐| 天天做天天爱天天高潮| 99国产一区二区三精品乱码| 一区二区伦理片| 精品久久久久久无| 日本另类视频| 国产区日韩欧美|