2010-10-26 56 views
1

我正在使用一個公平比特的Ajax的asp.net web應用程序 - 沒有太複雜的只是更新面板和來自Ajax Toolkit的控件。在被移交之前,它使用Ajax 1.0,然後升級到3.5框架。工具包控件被替換爲正確的版本,我可以使用更新面板,腳本管理器和模式彈出擴展器在項目中創建新頁面,所有這些都可以正常工作。ASP.net Ajax問題

一些現有頁面上的Ajax突然停止工作,但是 - 我有3個主頁,並認爲它是其中的一個,但現在的問題似乎已經'傳播'到另一個。我已經測試了MasterPages(這是放置scriptManager的地方),並且這也工作正常。

當我加載違規網頁的一個,並檢查Firefox的錯誤控制檯也有不少問題,主要是:

Sys.Res is undefined 
Sys.Application is undefined 
Sys.UI.DomEvent is undefined 

這一切似乎表明,我認爲由於某種原因,Ajax庫不越來越加載在這些網頁上,但我無法弄清楚爲什麼?有沒有人提出過類似的問題?

更新

大部分的網頁只顯示用戶控件又包含包括所有的Ajax的內容。其中一個不工作的頁面僅由1個UserControl組成。如果我創建一個新頁面並將其命名爲不同的內容(例如testpage1.aspx),請使用相同的母版頁,然後在其上拖動該控件即可正常工作。所有的Ajax都按預期工作。

如果我然後刪除不工作的頁面,創建一個相同的nakme的新頁面,並按照完全相同的步驟添加UserControl它不起作用。我已經嘗試清理C:\ Users \\ AppData \ Local \ Microsoft \ WebsiteCache中的網站緩存,但這沒有什麼區別。

我實際上已經嘗試使用與非工作頁面相同的名稱創建一個頁面,並確保它在相同的文件夾中。此頁面正常工作,但如果我然後刪除非工作頁面,並將其複製到該文件夾​​,然後不工作!有沒有其他地方的緩存?

進一步更新

阿賈克斯似乎停止時,它是網站的特定文件夾的工作 - 這僅僅是一個標準的文件夾與窗體身份驗證中,看起來像下面這樣的web.config中:

<?xml version="1.0" encoding="utf-8"?> 
<configuration> 
    <system.web> 
     <authorization> 
      <allow roles="Master Admin" /> 
      <allow roles="Introducer" /> 
      <deny users="*" /> 
     </authorization> 
    </system.web> 
</configuration> 

表單auth可以阻止腳本窗體加載嗎?

回答

0

我解決thisin結束但我仍然沒有,爲什麼出現這個問題是明智的。要解決它,我不得不將頁面複製到一個新的文件夾,刪除舊的文件夾,然後重命名新的匹配舊的?

0

嘗試用ToolkitScriptManager控件替換ScriptManager控件。

其他要嘗試的內容:在global.asax中,處理AuthenticateRequest事件,並查看該文件是否被請求。例如:

protected void Application_AuthenticateRequest(object sender, EventArgs e) 
{ 
    if(Request.Path.ToLower.EndsWith(".axd")) 
    { 
     Context.SkipAuthorization = true; 
     return; 
    } 
} 
+0

這沒有幫助 - 這真的很奇怪,我更新了一些更詳細的問題 – Macros 2010-10-26 15:39:10