繁体   English   中英

ASP.NET SlideShowExtender 从 web 服务中检索图像,但执行时什么也不做

[英]ASP.NET SlideShowExtender retrieving images from web service, but doing nothing when executed

因此,在我的 ASP.NET 解决方案的默认页面上,我有一个 SlideShowExtender object,链接到从 MSSQL 数据库检索幻灯片的 WebMethod。 通过调试,我可以确认 Slide 对象是从所述数据库成功创建的,但是一旦页面加载完毕,SlideShow 元素什么都不做。

以下是我的代码; 我提前感谢收到的任何回复。 谢谢你。

编辑:我忘了说我已经验证了图像 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;




    }
}
}

问题解决了; 我改用了 jquery.cycle.all。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM