2012-04-03 4 views
1

ASP.NETソリューションのデフォルトページでは、MSSQLデータベースからスライドを取得するWebMethodにリンクされたSlideShowExtenderオブジェクトがあります。デバッグを通じて、Slideオブジェクトが前記データベースから正常に作成されたことを確認できますが、ページがロードされるとSlideShow要素は何もしません。ASP.NET SlideShowExtenderはWebサービスからイメージを取得しますが、実行しても何もしません

以下は私のコードです。私は受け取った応答を前もって感謝します。ありがとうございました。

編集:私はイメージURLの完全性を確認したことを忘れていました。彼らは正しい。

Default.aspxを(Default.aspx.cs空Page_Loadメソッドとちょうど標準コードビハインドである):

<%@ Page Title="Home Page" Language="C#" MasterPageFile="~/Site.master" AutoEventWireup="true" 
CodeBehind="Default.aspx.cs" Inherits="Dissertation._Default" %> 
<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="asp" %> 
<asp:Content ID="HeaderContent" runat="server" ContentPlaceHolderID="HeadContent"> 
</asp:Content> 
<asp:Content ID="BodyContent" runat="server" ContentPlaceHolderID="MainContent"> 
<asp:ToolkitScriptManager ID="scrptman" runat="server"></asp:ToolkitScriptManager> 
     <asp:Image ID="imgBanner" Width="800" Height="300" runat="server"/> 
     <br /> 
     <asp:Label ID="lblDesc" runat="server"></asp:Label> 
     <asp:SlideShowExtender ID="sldShow" runat="server" 
     TargetControlID="imgBanner" 
     SlideShowServicePath="~/BannerImages.asmx" 
     SlideShowServiceMethod="GetPhotos" 
     AutoPlay="true"  
     ImageDescriptionLabelID="lblDesc" 
     Loop="true" /> 
</asp:Content> 

BannerImages.asmx.cs

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Web; 
using System.Web.Services; 
using System.Data.SqlClient; 
using System.Configuration; 
using AjaxControlToolkit; 

namespace Dissertation 
{ 
/// <summary> 
/// Summary description for BannerImages 
/// </summary> 
/// 
[System.Web.Script.Services.ScriptService] 
[WebService(Namespace = "http://tempuri.org/")] 
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)] 
[System.ComponentModel.ToolboxItem(false)] 
public class BannerImages : System.Web.Services.WebService 
{ 

    [WebMethod] 
    [System.Web.Script.Services.ScriptMethod] 
    public Slide[] GetPhotos() 
    { 
     List<Slide> images = new List<Slide>(); 
     ConnectionStringSettings settings = System.Configuration.ConfigurationManager.ConnectionStrings["Database"]; 
     SqlConnection conn = new SqlConnection(settings.ConnectionString); 
     SqlCommand cmd = new SqlCommand("Select * from sol_bannerData", conn); 
     SqlDataReader read = null; 
     try 
     { 
      conn.Open(); 
      read = cmd.ExecuteReader(); 

      while(read.Read()) 
      { 
       images.Add(new Slide(Server.MapPath("~/cms/uploads/banners/" + read["ImageURL"].ToString()), "", read["Description"].ToString())); 
      } 
     } 
     catch(SqlException err) 
     { 
      images.Clear(); 
      images.Add(new Slide("", "", "Images could not be loaded: " + err.Message)); 
      return images.ToArray(); 
     } 
     finally 
     { 
      if(read != null) read.Close(); 
      if(conn != null) conn.Close(); 
     } 
     Slide[] toReturn = images.ToArray(); 
     return toReturn; 




    } 
} 
} 

答えて

1

問題が解決しました;代わりにjquery.cycle.allを使用しました。

関連する問題