Ajax ÔÚÓû§¿Ø¼þÖеÄÓ¦Óã¨ÒÔGoogle SuggestΪÀý£©
ʼþ´¥·¢£º
<input name="keyword" onkeyup="LoadResults(this.value)" id="keyword" runat="server"/>
¿Í»§¶ËÖ÷Ì壺
//¶¨ÒåÓû§¿Ø¼þIDÈ«¾Ö±äÁ¿
var ClientID;
function ShowDiv(divid)
{
//...
}
function HideDiv(divid)
{
//...
}
//Ò³Ãæ¼ÓÔØÊ±µÄ´¦Àí
function BodyLoad()
{
HideDiv(ClientID + "searchresults");
var findtextbox = document.getElementById(ClientID + "keyword");
findtextbox.focus();
}
function ClearResults()
{
//...£¨Ñ°ÕÒÔªËØÊ±IDǰ¾ù¼Ó ClientID£©
}
function LoadResults(searchterm)
{
//...
// ǰ¼ÓÒ»¸öClientID×÷Ϊ²ÎÊý
Anthem_InvokeControlMethod(
"<%= ClientID %>",
'RetrieveRows',
[searchterm],
LoadResultsCallback);
}
function LoadResultsCallback(result)
{
//...£¨Ñ°ÕÒÔªËØÊ±IDǰ¾ù¼Ó ClientID£©
}
function ReplaceInput(tablecell)
{
//...£¨Ñ°ÕÒÔªËØÊ±IDǰ¾ù¼Ó ClientID£©
}
·þÎñÆ÷¶ËÖ÷Ì壺
protected void Page_Load(object sender, EventArgs e)
{
Anthem.Manager.Register(this); //×¢²áAnthem
}
[Anthem.Method] // ÉùÃ÷ΪAnthemǰ¶Ë¿É¸ÐÖªµÄ·½·¨
public DataTable RetrieveRows(string searchterm)
{
//...
}
//ÖØÔØÒ³ÃæOnInitʼþ
protected override void OnInit(EventArgs e)
{
base.OnInit(e);
//»ñÈ¡ClientIDÖµ
string jcode = "<mce:script language=\"javascript\" type=\"text/javascript\"><!--
ClientID = '" + this.ClientID + "_" + "';BodyLoad();
// --></mce:script>";
//¸ø¿Í»§¶ËÒ³ÃæÌí¼Ójs´úÂ룬ʹǰ¶ËµÃµ½ClientID±äÁ¿Öµ
Page.ClientScript.RegisterStartupScript(typeof(Page),"suggest_control", jcode);
}
Ïà¹ØÎĵµ£º
AJAXÖ÷ÒªÓÐÈýÖÖ£º×î¼òµ¥µÄÖ±½Ó¼ÓÔØÕû¸öÍøÒ³£¬È»ºóͨ¹ýinnerHTMLÖ®ÀàµÄ°ì·¨ÏÔʾÔÚÍøÒ³ÉÏ£¬Õâ¸öÏÖÔÚÓÃPrototype.jsµÄAjax.UpdaterÀàÄÜÇá¶øÒ×¾ÙµØÊµÏÖ£»ÁíÒ»ÖÖ×î³£ÓõÄÊǼÓÔØÒ»¸öÖ»°üº¬Êý¾ÝµÄÎļþ£¨±ÈÈçXML£©È»ºóͨ¹ýһϵÁдúÂë´¦ÀíºóÏÔʾ¸øÓû§£»»¹ÓÐÒ»ÖÖÊÇÏñDWR»òPHPRPCÄÇÑùÖ±½Ó°Ñ·þÎñÆ÷¶ËµÄº¯ÊýÉú³É¶ÔÓ¦µÄJS´úÂë¸ø¿Í»§¶Ë£¬¿ ......
<!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>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<script type="text/ ......
ǰºó¶ËµÄ½»»¥ÊÇÕû¸ö¿ò¼ÜµÄÖÐÐÄ£¬ÎÒÏ£Íû´ÓÁ÷µÄ½Ç¶ÈÀ´Éè¼ÆAJAXµÄ½»»¥
AJAXµÄÉè¼Æ½«ºá¹áǰºó¶Ë
ǰ¶ËÊÇÖ÷¶¯
ºó¶ËÊDZ»¶¯
ÕûÌ忼Âǵϰ ǰºó¶ËʹÓÃÒ»¸öͳһµÄ½Ó¿Ú½øÐÐAJAX½»»¥
ºó¶Ë ÓÃÒ»¸öΨһµÄURLÀ´´¦Àí AJAXÇëÇó
½Ó¿ÚÃû³Æ ´¦Àí½Ó¿Ú£º[http://ÓòÃû/mvc.ajax] ·â×°ËùÓеÄAJAXÇëÇóµÄÔ¤´¦Àí
......
´´½¨Ò»¸öµ¯³öDIV´°¿Ú¿ÉÄÜÊÇÏÖÔÚÍøÕ¾/ÍøÒ³ÖÆ×÷ÖÐ×î³£Åöµ½µÄÎÊÌâÖ®Ò»¡£´«Í³µÄJavaScriptµ¯´°ÒѾ²»ÊʺÏÄ¿Ç°ÍøÕ¾µÄÉè¼ÆÀíÄîÁË£¬ÀíÓÉÓжþ£ºÊ× ÏÈ£¬²»ÓѺ×—ÉúÓ²µÄµ¯³ö¶Ô»°¿òÇÒ°éËæ×Å“ßÑ”µÄÒ»Éù¶ÔÓû§ÌåÑéÊǸöºÜ´óµÄÌôÕ½£»Æä´Î£¬¼æÈÝÐÔ²»¹»Ç¿——ÓÐÏ൱¶àµÄä¯ÀÀÆ÷ÆÁ±ÎÁËÕâÖÖJSµÄAlert() ·½·¨¡ ......
Ê×ÏÈҪ˵µÄ¾ÍÊÇ ajax ÊÇÎÞ·¨ÊµÏÖÉÏ´«ÎļþµÄ£¬¿ÉÒÔÏëÒ»ÏÂajaxÓëºǫ́ͨÐŶ¼ÊÇͨ¹ý´«µÝ×Ö·û´®£¬ÔõôÄÜ´«µÝÎļþÄØ£¿Æäʵ³öÓÚ°²È«¿¼ÂÇjsÊDz»ÄܲÙ×÷ÎļþµÄ£¬ËùÒԾͲ»ÒªÔÙ˵ÓÃajaxÀ´ÊµÏÖÎļþµÄÉÏ´«ÁË£¬ÕâÊDz»¿ÉÄܵġ£
¶ø±¾ÎÄʵÏÖµÄÎļþÉÏ´«Ò²ÊÇÎÞÒ³ÃæË¢Ðµģ¬¿ÉÒÔ˵ÊÇÒ»ÖÖ"ÀàËÆAJAX"·½·¨¡£
&n ......