AJAXÈçºÎÓÃÓÚWeb²¿¼þ
ÔÎĵØÖ·£ºhttp://sharethispoint.com/archive/2006/11/15/Build-web-parts-with-ajax.aspx
ÈçºÎÔÚ¿ª·¢Web²¿¼þʱʹÓÃajaxÄØ£¿ÎÒÃǽ«ÒÔÒ»¸öÑù×ÓÀàËÆMOSS 2007ÖÐKPIºÍBDC Web²¿¼þµÄWebPartΪÀýÀ´ËµÃ÷¡£Èç¹ûÄã¶ÔajaxÒ»µã¶¼²»Á˽â,ÍÆ¼öѧϰTerryLeeµÄajaxÈëÃÅϵÁС£
ASP.net2.0ÓÐÒ»¸öºÜ¿áµÄÐÂÌØÐÔ½Ð×÷¿Í»§¶Ë½Å±¾»Øµ÷¡£½Å±¾»Øµ÷Ö÷ҪʹÎÒÃÇ¿ÉÒÔʹÓÃjavascriptµ÷Ó÷þÎñÆ÷¶Ë³ÌÐòÖеķ½·¨£¬È»ºó¸ù¾Ý½á¹ûÀ´×öһЩ²Ù×÷¡£Õâ¾ÍʹÎÒÃÇ¿ÉÒÔ¶¯Ì¬¸üÐÂÒ³ÃæµÄijһ²¿·ÖÄÚÈÝ£¬ÕýÈ罫ÔÚÎÒÃÇÏÂÃæµÄWebPartÖп´µ½µÄ£¬¶ø²»±ØË¢ÐÂÕûÒ³¡£¹ØÓÚÔÚ.net2.0ÖÐʹÓÿͻ§¶Ë½Å±¾»Øµ÷£¬¿ÉÒԲο¼ÏÂÃæµÄÎÄÕµØÖ·(http://msdn.microsoft.com/msdnmag/issues/04/08/CuttingEdge/)£¬ÆäÖÐ×ö³öÁËÏêϸµÄ½âÊÍ¡£µ«ÊÇÈçºÎÈ·ÇеĽ«ÆäʹÓÃÓëÎÒÃǵĴúÂëÖУ¬ÎÄÕ²¢Ã»ÓÐÏêϸ½éÉÜ¡£ÊÂʵÉϽű¾»Øµ÷ÌØÐÔÊǼ¯³Éµ½.netÖеģ¬ÎÒÃÇ¿ÉÒÔ·½±ãµÄÄÃÀ´Ê¹Óá£
±¾Ê¾ÀýÖÐÎÒÃǼÙÉèÓÐÕâôһ¸öWebPart£¬ËüÐèÒªºÜ³¤µÄʱ¼ä²ÅÄÜÏÔʾ³öÄÚÈÝ¡£ÎªÁ˽â¾öÕâ¸öÎÊÌ⣬¸øÓû§¸üºÃµÄÌåÑ飬ÎÒÃǾö¶¨ÈÃrender·½·¨ÔÚWebPart¸Õ¸ÕÔØÈëʱֻÊä³öÒ»¸ö¿ÕµÄdiv±êÇ©£¬È»ºóÎÒÃÇͨ¹ýajaxÀ´Ìæ»»divµÄÄÚÈÝ£¬Ê¹ÆäÏÔʾ³öʵ¼ÊÐèÒªµÄÄÚÈÝ¡£ÕâÑù£¬Óû§¾Í¿ÉÒÔÔÚÒ³ÃæÔØÈëºóÔÚÎÒÃǵÄWebPartÍê³ÉÄÚÈÝÔØÈëǰÏÈ¿´Ò»¿´ÆäËûµÄÄÚÈÝ¡£
ÏÂÃæÎÒÃǾͿªÊ¼¡£
Ê×ÏÈÎÒÃÇÏÈ´´½¨Ò»¸öеÄWebPartÏîÄ¿¡£ÔÚÎÒÃǵÄWebPartÀàÖÐÌí¼ÓÏÂÃæµÄÃüÃû¿Õ¼ä¡£
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
ÏëҪʹ.netÖªµÀÎÒÃǵÄÀàҪʹÓýű¾»Øµ÷£¬±ØÐëʵÏÖSystem.Web.UI.IcallbackEventHandler½Ó¿Ú¡£
public class TreeViewRollUp:WebPart,ICallbackEventHandler
IcallBackEventHandler½Ó¿ÚÓÐÁ½¸ö·½·¨£¬public string GetCallbackResult()ºÍ public void RaiseCallbackEvent(string eventArgs)£¬ÉÔºó½«¶ÔÆä½øÐнéÉÜ¡£
ÎÒÃÇÏȶ¨ÒåÁ½¸ö±äÁ¿
private string datadiv; //ÓÃÓÚ±£´ædiv±êÇ©Ãû³Æ
private string ajaxdata; //ÓÃÓÚ±£´æajax·µ»ØµÄÊý¾Ý
datadiv±äÁ¿±£´æÁËhtmlÖеÄÎÒÃÇ´òËãÊä³öÄÚÈݵÄdiv±êÇ©µÄid¡£Õâ¸ödiv±êÇ©µÄÃû³ÆÔÚÒ»¸öWebPartʵÀýÖбØÐëΨһ¡£Èç¹ûʼÖÕÊÇÒ»¸ö¹Ì¶¨Ãû³Æ£¬ÄÇôµ±ÎÒÃÇÔÚÒ»¸öÒ³ÃæÖÐÓÐÁ½¸öwebpartµÄʵÀýʱËüÃÇÓпÉÄÜ»áÌæ»»¶Ô·½µÄÄÚÈÝ¡£
ÔÚwebpartµÄRenderContents·½·¨ÖмÓÈëÏÂÃæµÄ´úÂ룺
protected override void RenderCon
Ïà¹ØÎĵµ£º
×î½üÍøÉÏÌáµÄºÜ¶àµÄÒ»¸öиÅÄî¾ÍÊÇ AJAX ÁË, ÄÇô, AJAX ÊÇÊ²Ã´ÄØ? ÒÔÏÂÄÚÈÝÒýÓÃÍøÉÏ×ÊÁÏ:
AJAXÈ«³ÆÎª“Asynchronous JavaScript and XML”£¨Òì²½JavaScriptºÍXML£©£¬ÊÇÖ¸Ò»ÖÖ´´½¨½»»¥Ê½ÍøÒ³Ó¦ÓõÄÍøÒ³¿ª·¢¼¼Êõ¡£ËüÓлúµØ°üº¬ÁËÒÔϼ¸ÖÖ¼¼Êõ£º
Ajax£¨Asynchronous JavaScript + XML£©µÄ¶¨Òå
»ùÓÚ web±ê×¼£¨sta ......
ÒÔÎÒÒÔǰдµÄÒ»¸öÁ·Ï°AJAXµÄ»áÔ±×¢²áÒ³ÃæÎªÀý¡£
ÏÂÃæÕâЩÖ÷ÒªÊÇÔÚÊäÈëÓû§Ãû£¬¹â±êÀ뿪ÊäÈë¿ò¾Í½øÐÐÅжϸÃÓû§ÃûÊÇ·ñºÏ·¨µÄajax·½·¨¡£
£¨1£©Xmlhttprequest AJAXÖ®ºËÐÄ
function S_Xmlhttprequest(){
if(window.ActiveXObject) //IE
xmlhttp = new ActiveXObject('Microsoft.XMLHTTP');
else if(window.XmlHTTPRe ......
ÔÚ.netµÄÑéÖ¤¿Ø¼þÖÐÓÐÒ»¸öCustomValidatorÑéÖ¤¿Ø¼þ£¬ÆäÊôÐÔClientValidationFunctionΪ¿Í»§¶Ëº¯Êý£¬ÔÚÐèÒªÑéÖ¤µÄ¿Ø¼þʧȥ½¹µã»òÕßpostÊý¾Ýʱ£¬µ÷Óøú¯Êý¡£
ǰ̨£º
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="CustomValidatorTest.aspx.cs" Inherits="Web.CustomValidatorTest" %>
<!DO ......
<
script language=
"javascript"
>
$(
document)
.ready
(
function
(
)
{
$(
'#send_ajax'
)
.click
(
function
(
)
{
var
params=
$(
'input'
)
.serialize
(
)
;
//ÐòÁл¯±íµ¥µÄÖµ
$.ajax
(
{
url:
'ajax_json.php'
,
//ºǫ́´¦ ......
jsûЧ¹û:Èç¹ûÔÚÒÔUpdatePanelµÄ·½Ê½µÄ¾Ö²¿»Ø´«ÖУ¬ÆÕͨµÄJavascript´úÂëÔÚÕâÖÖ¾Ö²¿»Ø´«ÖоͲ»»áÔÚ´¥·¢ÁË£¬¾Í±ØÐëʹÓÃscriptmanager.RegisterClientScript·½·¨£¨ÔÚ<form>ºóÃæ×¢²á<script>£©ºÍscriptmanager.RegisterStartupScript·½·¨£¨ÔÚ</form֮ǰע²á<script>£©
ÔÚÄãµÄÓû§¿Ø¼þµÄºó¶ËµÄij¸öºÏÊÊÎ ......