动态插入图像到JavaScript幻灯片

Dynamically insert images into JavaScript Slideshow Asp.net C#

本文关键字:JavaScript 幻灯片 图像 插入 动态      更新时间:2023-09-26

我正在尝试使用这个JavaScript幻灯片,但是,它不是动态的,我需要它动态。通常,我会使用ASP中继器;然而,脚本调用图像数组,如下所示:

    imagearray: [
        ['<%= ResolveUrl("~/Images/Slide/1.jpg") %>'],
        ['<%= ResolveUrl("~/Images/slide/2.jpg") %>']

我需要我的从sql数据库加载,所以我想也许:

    imagearray: [
        ['<%: getJson() %>']

然后在c#中,我试图做这样的事情:

    public string getJson()
    {
        string programId = Request.QueryString["ProgramId"];
        DataTable dt = CatalogAccess.GetProgramImages(programId);
    }

这就是我真正卡住的地方。我在想也许我可以返回我的文件名在一个数据表,然后将它们转换为对象数组?

    public string getJson()
    {
        string programId = Request.QueryString["ProgramId"];
        DataTable dt = CatalogAccess.GetProgramImages(programId);
        dt.Columns.Add("FileName", typeof(string));
        for (int i = 1; i < 10; i++)
        {
            DataRow dr = dt.NewRow();
            dr["FileName"] = "~/Images/Slide/" + i.ToString();
            dt.Rows.Add(dr);
        }
        ArrayList arrayList = new ArrayList();
        //create arraylsit from DataTable
        foreach (DataRow dr in dt.Rows)
        {
            arrayList.Add(dr["FileName"]);
        }
        return arrayList;
    }

显然,这是不工作;我都不确定我的方法是否正确。

此外,为了能够从数据库返回文件名,我需要能够添加文件路径,在c#中,以及(这就是为什么我尝试将其添加到数据ow)。然后把这些字符串放到JavaScript数组中

任何帮助,无论如何,将不胜感激;如果我偏离了轨道,请不要犹豫,告诉我正确的方向。

回顾一下:

看着:

Console.WriteLine (new JavaScriptSerializer().Serialize( (new ArrayList(){1,2,3,}) ));

产量:

[1,2,3] 作为字符串

所以修改代码返回

return new JavaScriptSerializer().Serialize(arrayList);
不是

 return arrayList;

然后改成:

imagearray: [
    ['<%: getJson() %>']

imagearray: <%: getJson() %>;