• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 443
  • Last Modified:

Need help with resolving AJAX problem...


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

1 Solution
Abu HamdanEnterprise Architect, PM ExpertCommented:
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:
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Free Tool: Port Scanner

Check which ports are open to the outside world. Helps make sure that your firewall rules are working as intended.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now