Solved

Need help with resolving AJAX problem...

Posted on 2009-07-08
1
434 Views
Last Modified: 2012-08-13
Hi,

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">
//<![CDATA[
Sys.WebForms.PageRequestManager._initialize('ctl00$CenterMainContent$ScriptManager1', document.getElementById('aspnetForm'));
Sys.WebForms.PageRequestManager.getInstance()._updateControls([], [], [], 90);
//]]>
    </script>

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=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
      <add verb="GET,HEAD" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=3.5.0.0, 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.
default.aspx:
 
<%@ 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#">
    [System.Web.Services.WebMethod]
    [System.Web.Script.Services.ScriptMethod]
    public static AjaxControlToolkit.Slide[] GetSlides()
    {
        try
        {
            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";
                        connection.Open();
                        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;
        }
    }
    </script>
    
    <div id="slideShowContainer" runat="server">
        <table id="slideShow" border="0" cellpadding="0" cellspacing="0">
            <tr>
                <td>
                    <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">
                    </slideshow:SlideShowExtender>
                </td>
            </tr>
            <tr>
                <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>
            </tr>
            <tr>
                <td id="slideShowText">
                    <asp:Label ID="lblImageDescription" runat="server" />
                    <br /><br />
                </td>
            </tr>
        </table>
    </div>
</asp:Content>

Open in new window

0
Comment
Question by:WebAppDeveloper
1 Comment
 
LVL 7

Accepted Solution

by:
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:

http://66.129.67.4/t/1256133.aspx
http://forums.asp.net/t/1040236.aspx?PageIndex=1
0

Featured Post

Windows Server 2016: All you need to know

Learn about Hyper-V features that increase functionality and usability of Microsoft Windows Server 2016. Also, throughout this eBook, you’ll find some basic PowerShell examples that will help you leverage the scripts in your environments!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
Connection String 16 57
Help with C#, MVC, razor. 6 34
SSRS subreport with parameter 3 32
Hey Audio! 3 29
Introduction Although it is an old technology, serial ports are still being used by many hardware manufacturers. If you develop applications in C#, Microsoft .NET framework has SerialPort class to communicate with the serial ports.  I needed to…
We all know that functional code is the leg that any good program stands on when it comes right down to it, however, if your program lacks a good user interface your product may not have the appeal needed to keep your customers happy. This issue can…
This Micro Tutorial will give you a basic overview how to record your screen with Microsoft Expression Encoder. This program is still free and open for the public to download. This will be demonstrated using Microsoft Expression Encoder 4.
This video shows how to quickly and easily add an email signature for all users on Exchange 2016. The resulting signature is applied on a server level by Exchange Online. The email signature template has been downloaded from: www.mail-signatures…

770 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