ASP.NET AJAXµ÷ÓÃWebService
ÈçºÎÔÚ¿Í»§¶ËÖ±½Óµ÷ÓÃWebServiceÖеķ½·¨£¿
ÕâÀï½áºÏ¾Ñé×Ô¼ºÐ´Ò»Ð´
1.Ê×ÏÈн¨Ò»¸ö ASP.NET AJAX-Enabled Web Site,ÕâÑùϵͳΪÎÒÃÇ×Ô¶¯ÅäÖúÃÁË»·¾³£¬ÕâÖ÷ÒªÌåÏÖÔÚWeb.configÕâ¸öÎļþÉÏ£¬Èç¹ûÒÑÓÐÍøÕ¾²»ÊÇASP.NET AJAX-Enabled Web SiteÒ²¿ÉÒÔ¶ÔÕÕÐÞ¸ÄÏÂWeb.config£¬Ò²¿ÉÒÔ´ïµ½ÏàͬµÄЧ¹û¡£
2.н¨Ò»¸öweb·þÎñ£¬WebService.asmx£¬ÔÚWebService.csÐèÒªÌí¼ÓSystem.Web.Script.Services;Õâ¸öÃüÃû¿Õ¼ä£º
using System.Web.Script.Services;
È»ºó¸øWebService ÀàÌí¼Ó[ScriptService]ÊôÐÔÕâÀïÏÈ˵²½Ö裬ºóÃæ˵ÔÀí£¬È»ºó¸øÎÒÃÇÐèÒªµ÷Óõķ½·¨¼ÓÉÏ
[WebMethod]ÊôÐÔ
3.н¨Ò»¸öJScriptÎļþ£¬JScript.js£¬ÀïÃæÓÃÀ´ÏìÓ¦½çÃæʼþ´¦Àí»Øµ÷·½·¨·µ»ØµÄÊý¾Ý
4.н¨Ò»¸öÒ³ÃæDefault.aspx,Èç¹ûÊÇASP.NET AJAX-Enabled Web SiteÒ³ÃæÉÏ»á×Ô¶¯Ìí¼ÓScriptManager¿Ø¼þ£¬Èç¹û²»ÊÇÖ»ÒªÊÖ¹¤ÍÏÉÏÈ¥Ò»¸ö£¬È»ºó¸øScriptManagerÌí¼ÓScript½Úµã£¬Õâ¸ö½ÚµãÓÃÀ´Ö¸¶¨ÒªÊ¹ÓõÄjsÎļþ
<Scripts><asp:ScriptReference Path="~/JScript.js" /></Scripts>
ÔÙ¸øScriptManagerÌí¼ÓServices½Úµã£¬Õâ¸ö½ÚµãÓÃÀ´Ö¸¶¨ÒªÊ¹ÓõÄWebService
<Services><asp:ServiceReference Path="~/WebService.asmx" /></Services>
ÕâЩ¹¤×÷Íê³ÉºóÖ»ÒªÔÚ½çÃæÉÏij¸ö¿Ø¼þ»òÕßij¸öµØ·½µ÷ÓÃÎÒÃǵÄjs·½·¨¾Í¿ÉÒÔÁË¡£
˵µÄÊǵ÷Óñ¾µØµÄWebService,Èç¹ûÊǵ÷ÓÃÍøÉϵÄWebService,ÔÀíÒ²ÊÇÒ»Ñù£¬²»¹ýÐèÒªÌí¼Óµã¶«Î÷£¬¾ÍÄÓһЩ³£ÓõÄWebServices”ÖеĵÚÒ»¸öWebServiceÀ´Ëµ°É£¬ÌìÆøÔ¤±¨Web·þÎñ£¬ÔÚÍøÕ¾ÉÏÌí¼ÓwebÒýÓã¬
ÔÚurlµØÖ·ÖÐÌîÈëµØÖ··þÎñµØÖ·£¬Ç°Íù£¬È»ºóÌí¼ÓÒýÓþͿÉÒÔÁË£¬ÆäËü´¦ÀíºÍ±¾µØÒ»Ñù¡£
ÌùһϴúÂ룬°üÀ¨±¾µØµÄweb·þÎñºÍÔ¶³Ìweb·þÎñ
I.Default.aspx´úÂ룺
<html xmlns="[color=#000000]http://www.w3.org/1999/xhtml[/color]">
<head runat="server">
<title>Untitled Page</title>
</head>
<body>
<form id="form1" runat="server">
<asp:ScriptManager ID="ScriptManager1" runat="server" EnablePageMethods="true" >
<Scripts>
Ïà¹ØÎĵµ£º
protected void Page_Load(object sender, EventArgs e)
...{
this.btnOK.Attributes.Add("onclick", ClientScript.GetPostBackEventReference(btnOK, "Click") + ";this.disabled=true; this.value='Ìá½»ÖÐ...';");
}
//°´Å¥´¦Àí·½·¨
protected void btnOK_C ......
<
script language=
"javascript"
>
$(
document)
.ready
(
function
(
)
{
$(
'#send_ajax'
)
.click
(
function
(
)
{
var
params=
$(
'input'
)
.serialize
(
)
;
//ÐòÁл¯±íµ¥µÄÖµ
$.ajax
(
{
url:
'ajax_json.php'
,
//ºǫ́´¦ ......
1¡¢ response.redirect Õâ¸öÌøתҳÃæµÄ·½·¨ÌøתµÄËٶȲ»¿ì£¬ÒòΪËüÒª×ß2¸öÀ´»Ø(2´Îpostback)£¬µ«Ëû¿ÉÒÔÌø תµ½ÈκÎÒ³Ã棬ûÓÐÕ¾µãÒ³ÃæÏÞÖÆ(¼´¿ÉÒÔÓÉÑÅ»¢Ìøµ½ÐÂÀË)£¬Í¬Ê±²»ÄÜÌø¹ýµÇ¼±£»¤¡£µ«ËÙ¶ÈÂýÊÇÆä×î´óȱÏÝ!redirectÌøת»úÖÆ£ºÊ×ÏÈÊÇ·¢ËÍÒ»¸öhttpÇëÇ󵽿ͻ§¶Ë£¬Í¨ÖªÐèÒªÌøתµ½ÐÂÒ³Ã棬Ȼºó¿Í»§¶ËÔÚ·¢ËÍÌøתÇëÇóµ½·þÎñÆ÷ ......
1. Êý¾Ý¿â·ÃÎÊÐÔÄÜÓÅ»¯
Êý¾Ý¿âµÄÁ¬½ÓºÍ¹Ø±Õ
¡¡¡¡·ÃÎÊÊý¾Ý¿â×ÊÔ´ÐèÒª´´½¨Á¬½Ó¡¢´ò¿ªÁ¬½ÓºÍ¹Ø±ÕÁ¬½Ó¼¸¸ö²Ù×÷¡£ÕâЩ¹ý³ÌÐèÒª¶à´ÎÓëÊý¾Ý¿â½»»»ÐÅÏ¢ÒÔͨ¹ýÉí·ÝÑéÖ¤£¬±È½ÏºÄ·Ñ·þÎñÆ÷×ÊÔ´¡£ ASP.NETÖÐÌṩÁËÁ¬½Ó³Ø£¨Connection Pool£©¸ÄÉÆ´ò¿ªºÍ¹Ø±ÕÊý¾Ý¿â¶ÔÐÔÄܵÄÓ°Ï졣ϵͳ½«Óû§µÄÊý¾Ý¿âÁ¬½Ó·ÅÔÚÁ¬½Ó³ØÖУ¬ÐèҪʱȡ³ö£¬¹Ø±Õʱ ......
AJAXÖ÷ÒªÓÐÈýÖÖ£º×î¼òµ¥µÄÖ±½Ó¼ÓÔØÕû¸öÍøÒ³£¬È»ºóͨ¹ýinnerHTMLÖ®ÀàµÄ°ì·¨ÏÔʾÔÚÍøÒ³ÉÏ£¬Õâ¸öÏÖÔÚÓÃPrototype.jsµÄAjax.UpdaterÀàÄÜÇá¶øÒ×¾ÙµØʵÏÖ£»ÁíÒ»ÖÖ×î³£ÓõÄÊǼÓÔØÒ»¸öÖ»°üº¬Êý¾ÝµÄÎļþ£¨±ÈÈçXML£©È»ºóͨ¹ýһϵÁдúÂë´¦ÀíºóÏÔʾ¸øÓû§£»»¹ÓÐÒ»ÖÖÊÇÏñDWR»òPHPRPCÄÇÑùÖ±½Ó°Ñ·þÎñÆ÷¶ËµÄº¯ÊýÉú³É¶ÔÓ¦µÄJS´úÂë¸ø¿Í»§¶Ë£¬¿ ......