Need help with resolving AJAX problem...

Posted on 2009-07-08
Last Modified: 2012-08-13

I have the following ajax code (see default.aspx) that's working just fine in all non-production environments, but as soon as I deploy it to Production, I get a javascript error "  'Sys' is undefined " onload of default.aspx. Clicking "yes" to view details about the js error takes me to:

    <script type="text/javascript">
Sys.WebForms.PageRequestManager._initialize('ctl00$CenterMainContent$ScriptManager1', document.getElementById('aspnetForm'));
Sys.WebForms.PageRequestManager.getInstance()._updateControls([], [], [], 90);

Both environments are using .net 3.5 and have AJAX extensions installed. Both web configs have the lines:
      <add verb="*" path="*_AppService.axd" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
      <add verb="GET,HEAD" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=, Culture=neutral, PublicKeyToken=31BF3856AD364E35" validate="false" />
      <add verb="*" path="*.asmx" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />

Can someone please tell me how to solve this?
Thanks a bunch.


<%@ Page Language="C#" MasterPageFile="~/HomePage.master" AutoEventWireup="true" CodeFile="default.aspx.cs" Inherits="_Default" Title="Untitled Page" %>

<%@ Import Namespace="System.Collections.Generic" %>

<%@ Import Namespace="System.Xml" %>

<%@ Import Namespace="System.Web" %>

<%@ Import Namespace="System.IO" %>

<%@ Import Namespace="System.Data.Common" %>


<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="slideshow" %>


<asp:Content ID="Content1" ContentPlaceHolderID="CenterMainContent" runat="server">


    <asp:ScriptManager ID="ScriptManager1" runat="server" />


    <script runat="Server" type="text/C#">



    public static AjaxControlToolkit.Slide[] GetSlides()




            HttpContext context = HttpContext.Current;

            string xlsPath = context.Server.MapPath("~/uploadedFiles/slideshow.xls");

            if (File.Exists(xlsPath))


                /** "HDR=Yes;" indicates that the first row contains column names/headers, not data.

                    "IMEX=1;" tells the driver to always read "intermixed" data columns as text. **/

                string connectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + xlsPath + ";Extended Properties='Excel 8.0;HDR=Yes;IMEX=1'";


                DbProviderFactory factory = DbProviderFactories.GetFactory("System.Data.OleDb");


                List<AjaxControlToolkit.Slide> slides = new List<AjaxControlToolkit.Slide>();


                using (DbConnection connection = factory.CreateConnection())


                    connection.ConnectionString = connectionString;


                    using (DbCommand command = connection.CreateCommand())


                        command.CommandText = "SELECT ImageFile, ImageTitle, ImageDesc FROM [Slides$] s WHERE LEN(LTRIM(RTRIM(ImageFile))) >= 5 AND LEN(LTRIM(RTRIM(ImageDesc))) > 0 ORDER BY ImageFile";


                        using (DbDataReader dr = command.ExecuteReader())


                            while (dr.Read())


                                slides.Add(new AjaxControlToolkit.Slide("uploadedimages/" + dr["ImageFile"].ToString().Trim(), dr["ImageTitle"].ToString().Trim(), dr["ImageDesc"].ToString().Trim()));





                return slides.ToArray();


            return null;



        catch (Exception ex)


            throw ex;





    <div id="slideShowContainer" runat="server">

        <table id="slideShow" border="0" cellpadding="0" cellspacing="0">



                    <asp:Image ID="imgSlide" runat="server" ImageUrl="images/slide_Horserace.jpg" />


                    <slideshow:SlideShowExtender ID="SlideShowExtender1"

                      AutoPlay="true" ImageDescriptionLabelID="lblImageDescription"

                       Loop="true" NextButtonID="btnNext" PlayButtonID="btnPlay" 

                        PlayButtonText="Play" PreviousButtonID="btnPrevious" 

                        SlideShowServiceMethod="GetSlides" StopButtonText="Stop" 

                        TargetControlID="imgSlide" runat="server">





                <td id="slideShowButtons">

                    <asp:ImageButton ID="btnPrevious" runat="server" ImageUrl="images/back_arrowgraphic.gif" ToolTip="Previous slide" />

                    <asp:ImageButton ID="btnPlay" runat="server" ImageUrl="images/pause_arrowgraphic.gif" ToolTip="Pause/Play" />

                    <asp:ImageButton ID="btnNext" runat="server" ImageUrl="images/forward_arrowgraphic.gif" ToolTip="Next slide" />

                    <%-- <asp:Button ID="btnPrevious" runat="server" Text="Previous" />

                    <asp:Button ID="btnPlay" runat="server" Text="Play" />

                    <asp:Button ID="btnNext" runat="server" Text="Next" /> --%>




                <td id="slideShowText">

                    <asp:Label ID="lblImageDescription" runat="server" />

                    <br /><br />






Open in new window

Question by:WebAppDeveloper
1 Comment

Accepted Solution

Abu Hamdan earned 500 total points
ID: 24808340
there are lots of reasons that could cause this error, ajax extensions on server missing, ajax extensin version differ , access privilages ... etc ,,, see link below for more details:

Featured Post

What Is Threat Intelligence?

Threat intelligence is often discussed, but rarely understood. Starting with a precise definition, along with clear business goals, is essential.

Join & Write a Comment

In order to hide the "ugly" records selectors (triangles) in the rowheaders, here are some suggestions. Microsoft doesn't have a direct method/property to do it. You can only hide the rowheader column. First solution, the easy way The first sol…
Calculating holidays and working days is a function that is often needed yet it is not one found within the Framework. This article presents one approach to building a working-day calculator for use in .NET.
This video discusses moving either the default database or any database to a new volume.
This video explains how to create simple products associated to Magento configurable product and offers fast way of their generation with Store Manager for Magento tool.

758 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

22 Experts available now in Live!

Get 1:1 Help Now