2011-04-21 79 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文件已加载。