c# - 根据下拉列表在 asp.net 中选择的选项从文件夹动态加载多个图像

标签 c# javascript .net sql visual-studio-2010

<分区>

根据在 asp.net 中选择的下拉列表选项从文件夹动态加载多个图像。 谁能帮我在 visual studio 中实现这个? 这是我试过的代码,帮助我更好的选择或修改它,我还需要将图像输出绑定(bind)到图像按钮控件作为幻灯片。

 <script type="text/javascript">
   function new1(city) {
      switch (city) {
           case "Patna":
               var imlocation = "Patna/";
               var currentdate = 0;
               var image_number = 0;
               function ImageArray(n) {
                   this.length = n;
                   for (var i = 1; i <= n; i++) {
                       this[i] = ' '
                   }
               }
               image = new ImageArray(2)
               image[0] = '2.jpg'
               image[1] = '3.jpg'
               var rand = 60 / image.length
               function randomimage() {
                   currentdate = new Date()
                   image_number = currentdate.getSeconds()
                   image_number = Math.floor(image_number / rand)
                   return (image[image_number])
               }
                                  document.write("<img src='" + imlocation + randomimage() + "'>");

           case "Bhopal":
               var imlocation1 = "Bhopal/";
               var currentdate1 = 0;
               var image_number1 = 0;
               function ImageArray1(n) {
                   this.length = n;
                   for (var i = 1; i <= n; i++) {
                       this[i] = ' '
                   }
               }
               image1 = new ImageArray1(3)
               image1[0] = '2.jpg'
               image1[1] = '4.jpg'
               image1[2] = '1.jpg'
               var rand1 = 100/ image1.length
               function randomimage1() {
                   currentdate1 = new Date()
                   image_number1 = currentdate1.getSeconds()
                   image_number1 = Math.floor(image_number1 / rand1)
                   return (image1[image_number1])
               }
               document.write("<img src='" + imlocation1 + randomimage1() + "'>");

       }
   }

<asp:DropDownList ID="DropDownList1" runat="server" onchange="new1(this.value)"
                DataSourceID="SqlDataSource1" DataTextField="City" DataValueField="City" 
                onselectedindexchanged="DropDownList1_SelectedIndexChanged" 
                AutoPostBack="True" >
            </asp:DropDownList>

最佳答案

最后我自己找到了答案,使用 ajax slideshow extender 在 webservice 中使用下面的代码。

[System.Web.Script.Services.ScriptService]
public class WebService1 : System.Web.Services.WebService
{
    [System.Web.Services.WebMethod()]
    [System.Web.Script.Services.ScriptMethod]
    public AjaxControlToolkit.Slide[] GetSlides(string contextKey)
    {

        string[] imagenames = System.IO.Directory.GetFiles(HttpContext.Current.Server.MapPath("~/" + contextKey ));
        AjaxControlToolkit.Slide[] photos = new AjaxControlToolkit.Slide[imagenames.Length];
        for (int i = 0; i < imagenames.Length; i++)
        {
            string[] file = imagenames[i].Split('\\');
            photos[i] = new AjaxControlToolkit.Slide(contextKey + "/" + file[file.Length - 1], file[file.Length - 1], "");
        }
        return photos;

    }

  }

在幻灯片扩展器中

 <asp:SlideShowExtender ID="SlideShowExtender1" TargetControlID="Image1"     SlideShowServiceMethod="GetSlides" SlideShowServicePath="~/WebService1.asmx" Loop="true" runat="server"  UseContextKey="true" 
    AutoPlay="True" BehaviorID="b1" >        
</asp:SlideShowExtender>

终于在page_load

 if (Page.IsPostBack)
 {
     SlideShowExtender1.ContextKey = DropDownList1.SelectedValue;
 }

关于c# - 根据下拉列表在 asp.net 中选择的选项从文件夹动态加载多个图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14256947/

相关文章:

.net - Redis 副本处理失败的连接字符串

c# - App.config 中的配置未正确提取

c# - 如何计算 gridview 中选定的复选框的数量

c# - 从库中覆盖方法

c# - 如何创建一个以名称为参数的表?

javascript - .click() 在 IE11 中拒绝访问

javascript - 当用户导航到其他页面时如何中止挂起的 jquery ajax 请求?

javascript - 如何在此脚本中添加更多标题?

c# - 如何从数据库动态重新安排 C# 中的 Quartz 作业调度程序?

.net - DateTimePicker 内部验证