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
Ïà¹ØÎĵµ£º
1¡¢´´½¨
XMLHttpRequest
¶ÔÏóµÄÒ»¸öʵÀý
var xmlHttp;
function createXMLHttpRequest() {
if (window.ActiveXObject) {
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}
else if ( ......
ÒÔÏ´úÂëÇëÔÚFirefox 3.5¡¢Chrome 3.0¡¢Safari 4Ö®ºóµÄ°æ±¾ÖнøÐвâÊÔ¡£IE8µÄʵÏÖ·½·¨ÓëÆäËûä¯ÀÀ²»Í¬¡£
¿çÓòÇëÇ󣬹ËÃû˼Ò壬¾ÍÊÇÒ»¸öÕ¾µãÖеÄ×ÊÔ´È¥·ÃÎÊÁíÍâÒ»¸ö²»Í¬ÓòÃûÕ¾µãÉϵÄ×ÊÔ´¡£ÕâÖÖÇé¿öºÜ³£¼û£¬±ÈÈç˵ͨ¹ý style. ±êÇ©¼ÓÔØÍⲿÑùʽ±íÎļþ¡¢Í¨¹ý img ±êÇ©¼ÓÔØÍⲿͼƬ¡¢Í¨¹ý script. ±êÇ©¼ÓÔØÍⲿ½Å±¾Îļþ¡¢Í¨¹ý W ......
<
script language=
"javascript"
>
$(
document)
.ready
(
function
(
)
{
$(
'#send_ajax'
)
.click
(
function
(
)
{
var
params=
$(
'input'
)
.serialize
(
)
;
//ÐòÁл¯±íµ¥µÄÖµ
$.ajax
(
{
url:
'ajax_json.php'
,
//ºǫ́´¦ ......
AJAXÖ÷ÒªÓÐÈýÖÖ£º×î¼òµ¥µÄÖ±½Ó¼ÓÔØÕû¸öÍøÒ³£¬È»ºóͨ¹ýinnerHTMLÖ®ÀàµÄ°ì·¨ÏÔʾÔÚÍøÒ³ÉÏ£¬Õâ¸öÏÖÔÚÓÃPrototype.jsµÄAjax.UpdaterÀàÄÜÇá¶øÒ×¾ÙµØÊµÏÖ£»ÁíÒ»ÖÖ×î³£ÓõÄÊǼÓÔØÒ»¸öÖ»°üº¬Êý¾ÝµÄÎļþ£¨±ÈÈçXML£©È»ºóͨ¹ýһϵÁдúÂë´¦ÀíºóÏÔʾ¸øÓû§£»»¹ÓÐÒ»ÖÖÊÇÏñDWR»òPHPRPCÄÇÑùÖ±½Ó°Ñ·þÎñÆ÷¶ËµÄº¯ÊýÉú³É¶ÔÓ¦µÄJS´úÂë¸ø¿Í»§¶Ë£¬¿ ......
By Jason.Huang@sun.COM
,
8/1/07
B/S½á¹¹µÄÓ¦ÓÃËÆºõÒѾ³ÉΪÁËĬÈϵķ½Ê½,´ó¼ÒÿÌ쿪Æô¹Ø±Õ×î¶àµÄÓ¦ÓÃÎÒÏëÓ¦¸ÃÊÇÄúµÄWebä¯ÀÀÆ÷.B/S½á¹¹µÄÓ¦ÓÃ×î´óµÄÓŵã¾ÍÊÇ·½±ã,¿Í»§¶ËʲôҲ
²»ÐèÒª°²×°¾Í¿ÉÒÔʹÓÃÎÒÃǵÄÓ¦ÓÃ.
µ±È»B/S½á¹¹µÄÒ»Ð©ÌØµãÒ²¶Ô»ùÓÚÕâÖÖ·½Ê½Ó¦ÓõĿª·¢ºÍÉè¼Æ²úÉúÁËÓ°Ïì.
×îµäÐ͵ÄÎÊÌâ¾ÍÊÇÿ ......