使用MagicAjax 服务器出现unable to find script library'/ajaxcallobject.js

在web2.0热炒的年代,Ajax成了一种潮流 。其基本概念在此不再赘述,你可以从 http://news.csdn.net/n/20051027/28202.html 了解一些信息。

MagicAjax是一个针对.NET 1.1和2.0的一个Ajax解决方案。你可以在处http://prdownloads.sourceforge.net/magicajax/magicajax-0.3.0-source.zip?download下载到它。其推出形式是一个WebControl,你可以在自己的VS.NET的ToolBox里添加这个DLL,然后就可以像普通的控件一样拖出来使用了。

鉴于目前大部分人都是使用.NET Framework 1.1,我们只提供对1.1的讲解

要正确地使用MagicAjax的控件,请按照以下步骤进行部署:

1.将MagicAjax的DLL Copy到自己的主要工作Project的BIN里

2.在VS.NET的ToolBox里添加该DLL

3.MagicAjax的压缩包里还附有两个js的脚本文件,一个是AjaxCallObject.js,一个是WebParts.js。前者是负责MagicAjax的普通事务的客户端表现的,后者则是专门针对WebParts的脚本。将两者都Copy到你的主要存放JS的目录下。以我的solution为例,我将此二者 Copy 到 站点根目录下的 script 文件夹里存放

4.修改Web.Config 在MagicAjax的forum里有很多询问过这个问题,其实Bekas给出的例子里有一些问题。

正确的配置应该是如下的方式

首先,在web.config的<configSections></configSections>里创建如下的标签

<section name="magicAjax"    type="MagicAjax.Configuration.MagicAjaxSectionHandler, MagicAjax"/>

如果你的web.config 里没有
<configSections></configSections>

请copy下面的片断,并确保它们是存放在
<configuration></configruation>里的


<!--**************************************************-->

<configSections> 
   
<section name="magicAjax" 
   type
="MagicAjax.Configuration.MagicAjaxSectionHandler, MagicAjax"/>
</configSections>


<!--**************************************************-->

下一步,在
<configure></configure>标签里创建如下的内容

<magicAjax  scriptPath="~/script"  outputCompareMode="HashCode"  tracing="false">
  
<pageStore
   
mode="NoStore"
   unloadStoredPage
="false"
   cacheTimeout
="5"
   maxConcurrentPages
="5"
   maxPagesLimitAlert
="true"
  
/>
 
</magicAjax>


参数解释如下:

/*********************************************************/

MagicAjax

一.scriptPath 我们刚才提到的那两个脚本的存放路径,这个参数在设置的时候以~/ ,也就是站点的根目录作为一个出发点。比如,你要设置magicajax的js脚本到站点的根目录的blog下的script里,则写成 ~/blog/script。其余情况大家自己推理~

二.outputCompareMode 脚本输出时的比较模式 有三种方式 FullHtml、HashCode、MD5

HashCode即可。具体的细节将在后面的章节里讲述。

三. tracing 是否跟踪 如果设置为true的话,则在每次响应Ajax请求的时候会弹出一个alert来显示具体要加载的脚本

仅用于调试

/*********************************************************/

PageStore 用于配置Ajax的js脚本的缓存的标签

一.mode Page 对象存储的模式 有三种方式 NoStore、Session、Cache。

NoStore,将不会缓存Page 对象

Session,将会把Page 对象存储到站点的Session里

Cache,将会把Page 对象存储到站点的Cache里。

二.unloadStoredPage 是否在Page的Unload对象里清除掉建立的Page 对象的Cache或者Session。一般都设置为false。

三.cacheTimeout Cache的过期时间 以分钟为单位

四.maxConcurrentPages 同一个页面可以缓存的Page 对象的数量 一般为5

五.maxPagesLimitAlert 是否对达到最大缓存数进行警告 一般为 false

为什么要缓存页面对象,我们将在以后的章节里解释

/*********************************************************/

 

 最后一步,在
<System.Web></System.Web>标签的

下级标签 
<httpModules> </httpModules>里创建
<add name="MagicAjax" type="MagicAjax.MagicAjaxModule, MagicAjax" />

如果你的
<System.Web></System.Web>里没有<httpModules></httpModules>

请复制以下标签到你的
<System.Web></System.Web>

 
<httpModules>
 
<add name="MagicAjax" type="MagicAjax.MagicAjaxModule, MagicAjax" />
 
</httpModules>

posted @ 2008-07-25 10:06  Amo  阅读(1462)  评论(0编辑  收藏  举报