【原文地址】Links to ASP.NET AJAX 1.0 resources, and answers to some common questions
【原文发表日期】 Thursday, January 25, 2007 12:53 AM

下面是几个ASP.NET AJAX 1.0资源的连接以及对我看到的跟ASP.NET AJAX 1.0产品发布有关的几个常见问题的答复:

精彩的免费资源:PDF格式的ASP.NET AJAX备忘表

Milan就ASP.NET AJAX 1.0最终版的发行更新了他的精彩的PDF格式的ASP.NET AJAX备忘表

你可以在这里下载他的更新版本。确认你订阅了他的博客,这样新的备忘表一出来,你就能收到。

常见疑难杂症:在安装后重启IIS,并且清除你的浏览器缓存

我看到几个情形,有人在升级到ASP.NET AJAX 1.0之后,仍然看到使用的是老的版本的ASP.NET AJAX脚本。这通常是以一个“Sys.Debug not being found(无法找到Sys.Debug)”的客户端JavaScript错误的形式出现的。如果你遇到这个情形的话,检查2件事:

1) 确认你在安装ASP.NET AJAX之后重启了 IIS (你可以在命令行上打入iisreset命令来重启IIS)。如果在新的ASP.NET AJAX 程序集安装之时,IIS已经装载了老版本的ASP.NET AJAX 程序集的话,它会继续使用这个已经装载的老版本,直到下次工作进程重启为止。重新启动工作进程会造成其开始使用新的程序集。

2) 假如你的浏览器是设置成永久存储缓存文件的话,确认你清除了你的浏览器缓存。这就会避免你的浏览器在缓存里保留有老的版本的.js 文件,不去服务器获取新的版本而仍旧使用这些老的版本所造成的问题。

常见疑难杂症:PageMethods现要求 <asp:scriptmanager> 控件上的EnablePageMethods属性设置为真

我看到几个人遇上了一个问题,在从ASP.NET AJAX RC版升级到最终的V1 版后,他们的静态AJAX网页方法(Page Methods)看上去不再工作了。其原因是,在默认情形下,ASP.NET AJAX 网页方法不再暴露在外,除非你在 <asp:scriptmanager> 控件上把EnablePageMethods属性设置成true。譬如:

<asp:scriptmanager id="s1" EnablePageMethods="true" runat="server"/>

你一旦把这个属性设成true,其他的一切将照旧工作。你可以在这里的ASP.NET AJAX 1.0文档中进一步学习如何使用PageMethods。

常见疑难杂症: <asp:updatepanel> 控件中使用的验证控件

我看到几个人遇上了一个问题,在升级到RTM版后,<asp:updatepanel> 内的验证控件不再工作了。

在Beta1,Beta2 和 RC 版本中, ASP.NET AJAX 提供了一套“兼容”控件,通过使用ASP.NET中web.config中的 <tagMapping> 特性,把ASP.NET内置的验证控件替换成可以在<asp:updatepanel>内使用的对AJAX有意识(AJAX-aware)的控件。其结果是,看上去在你的网站上你是在使用标准的ASP.NET验证控件,但实际上,你是在使用一套添加了AJAX 关联的新的控件。

在ASP.NET AJAX的最终版中,我们决定放弃这个做法,而是对ASP.NET 2.0发布一个补丁,把对AJAX有意识的特性直接添加到真的ASP.NET验证控件中去。这就确保了这些控件在所有的情形下都会正常工作,这是个更加干净和可靠的方案。但不幸的是,这个补丁拖延了几个星期,所以在ASP.NET AJAX 1.0发行时,还没有及时通过Windows Update来发布这个补丁。

作为在补丁发布之前的一个临时的方案,你可以下载那些我们在RC(发布候选版)中提供的兼容性验证控件,然后就按RC版中的做法,在你的web.config文件中使用 <tagMapping> 特性把内置的ASP.NET控件映射到那些控件上去:

<tagMapping>

   
<add tagType="System.Web.UI.WebControls.CompareValidator" 
        mappedTagType
="Sample.Web.UI.Compatibility.CompareValidator, Validators, Version=1.0.0.0"/>

   <
add tagType="System.Web.UI.WebControls.CustomValidator" 
        mappedTagType
="Sample.Web.UI.Compatibility.CustomValidator, Validators, Version=1.0.0.0"/>

   <
add tagType="System.Web.UI.WebControls.RangeValidator" 
        mappedTagType
="Sample.Web.UI.Compatibility.RangeValidator, Validators, Version=1.0.0.0"/>

   <
add tagType="System.Web.UI.WebControls.RegularExpressionValidator" 
        mappedTagType
="Sample.Web.UI.Compatibility.RegularExpressionValidator, Validators, Version=1.0.0.0"/>
   
   <
add tagType="System.Web.UI.WebControls.RequiredFieldValidator" 
        mappedTagType
="Sample.Web.UI.Compatibility.RequiredFieldValidator, Validators, Version=1.0.0.0"/>
   
   <
add tagType="System.Web.UI.WebControls.ValidationSummary"
        mappedTagType
="Sample.Web.UI.Compatibility.ValidationSummary, Validators, Version=1.0.0.0"/>

</
tagMapping>

 

这样验证控件就会在<asp:updatepanel>控件中正常工作,其行为应该跟RC版中的行为完全一样。你可以在这里下载这些兼容控件

希望本文对你有所帮助,

Posted on 2008-05-20 10:59  hesen  阅读(272)  评论(0编辑  收藏  举报