繁体   English   中英

如何在Ajax SlideShowExtender中动态添加图像

[英]How to add images dynamically in Ajax SlideShowExtender

我正在使用幻灯片扩展程序动态创建幻灯片。 我的网络服务代码是:-

[System.Web.Services.WebMethod]
[System.Web.Script.Services.ScriptMethod]
public static AjaxControlToolkit.Slide[] GetSlides()
{
    AjaxControlToolkit.Slide[] slides = new AjaxControlToolkit.Slide[tblData.Tables[Count_w].Rows.Count];
    for (int i = 0; i < tblData.Tables[Count_w].Rows.Count; i++)
    {
        DataRow dr = tblData.Tables[Count_w].Rows[i];
        slides[i] = new AjaxControlToolkit.Slide(dr["imgurl"].ToString(), dr["header"].ToString(), dr["descr"].ToString());
    }
    Count_w++;
    return slides;
}

关于为什么发生这种情况的任何线索。 我试图在Web服务中包括硬编码,并且它可以工作。 工作代码:-

[System.Web.Services.WebMethod]
[System.Web.Script.Services.ScriptMethod]
public static AjaxControlToolkit.Slide[] GetSlides()
{
    return new AjaxControlToolkit.Slide[] { 
        new AjaxControlToolkit.Slide("Help/1.png", "Add new server", "Login on server"),
        new AjaxControlToolkit.Slide("Help/2.png", "Add new server", "Login success"),
        new AjaxControlToolkit.Slide("Help/3.png", "Add new server", "Create new user"),
        new AjaxControlToolkit.Slide("Help/4.png", "Add new server", "Test user")};
    return slides;
}

谁能告诉我为什么动态人口不起作用。 两种方法返回相同结果的地方。

通过删除多余的斜杠解决了问题。

改变这个

dr["imgurl"].ToString()

这样

dr["imgurl"].ToString().Replace("\\", "/")

更新的代码

[WebMethod]
public AjaxControlToolkit.Slide[] GetSlides(DataTable dt)
{
    AjaxControlToolkit.Slide[] slides = new AjaxControlToolkit.Slide[dt.Rows.Count];
    for (int i = 0; i < dt.Rows.Count; i++)
    {
        DataRow dr = dt.Rows[i];
        slides[i] = new AjaxControlToolkit.Slide(dr["imgurl"].ToString().Replace("\\", "/"), dr["header"].ToString(), dr["descr"].ToString());
    }
    return slides;
}

暂无
暂无

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

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