If you use VS2005 the problem is generally because of web.config configuration. Add the following configuration in web.config in
system.web
section.
<httpHandlers> <remove verb="*" path="*.asmx"/>
<add verb="*" path="*.asmx" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory"/>
<add verb="GET,HEAD" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" validate="false"/>
</httpHandlers>
If you use VS2008, the problem is generally because of JavaScript that references the Sys namespace too early.
Here, have a look at these articles and blog posts discussing the same and how to resolve it:
Configuring ASP.NET AJAX[
^]
ASP.NET - AJAX functionality not working on the page | Getting ‘Sys’ is undefined[
^]
How to solve "sys is undefined" error while using asp.net ajax update panel. [
^]
Updated your web.config, but Sys is still undefined?[
^]
'Sys' is undefined - ASP.NET AJAX[
^]
ASP.NET AJAX 3.5 error - “Sys is undefined” workaround[
^]