2011-04-21 65 views
1

我正在創建一個asp.net web應用程序。 在Web應用程序中,我有一個Web服務。 我添加了[System.Web.Script.Services.ScriptService] 到web服務文件並添加了一個腳本管理器到aspx頁面。 當我在JavaScript中調用Web服務時,出現錯誤「Microsoft JScript運行時錯誤:'getText'未定義」 此代碼可用於另一個項目,但它是一個網站項目而不是Web應用程序。也許在這方面兩者有區別?asp.net ajax不工作

謝謝! -Elad

回答

0

我從一個web應用程序項目切換到一個網站項目,一切開始工作。我真的不知道這是爲什麼,但它只是工作。

0

你想用getText做什麼?這是一個有效的ASP.NET AJAX命令?

假設它是...

沒有太多的信息在這裏繼續下去,但要確保你已經添加了一個參考你的服務的.asmx文件,在你的頁面的<ScriptManager>控制。

您可以在標記做到這一點,或者在這樣的代碼(通常在頁面加載事件):

sm.Services.Add(New ServiceReference("~/YourWebService.asmx")) 

而SM是您的ScriptManager的ID。

sm.Scripts.Add(New ScriptReference("YourJavaScriptFile.js")) 

而且,如果JavaScript文件你正在使用調用Web服務是外部的,通過使用ScriptManager這樣註冊它,而不是在你的標記添加對它的引用加載它這確保了它在ScriptManager準備就緒之前不會運行。

此外,該行添加到您的JavaScript文件的末尾:

if (typeof (Sys) !== 'undefined') {Sys.Application.notifyScriptLoaded(); } 

此分配時通知使用ScriptManager您的JavaScript文件已加載。