2012-04-03 44 views
1

因此,在我的ASP.NET解決方案的默認頁面上,我有一個SlideShowExtender對象,它鏈接到從MSSQL數據庫檢索幻燈片的WebMethod。通過調試,我可以確認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。

相關問題