什么是显示ASP.NET随机形象的最佳方式是什么?(What's the best way

2019-09-20 12:21发布

我说的是这样的网站: http://www.ernesthemingwaycollection.com

它有一个静态墙纸和一组从页面改变页面的图片,我想实现从一组使用ASP.NET的图像显示随机图像的类似的方式。

编辑 :我想要的形象留在同一个会话,从会话切换到另一个。

Answer 1:

你提到的网站没有使用随机的一组图片。 他们被编码到aspx页面的HTML端。

您可以将网页上的ASP图像控制。 然后在页面的Page_Load中函数图像设置为您设定的随机图片。

protected void Page_Load(object sender, EventArgs e)
        {

            this.Image1.ImageUrl = "~/images/random3.jpg";
        }

你在哪里存储图像数据集不同的选择。 你可以使用一个数据库和网址存储在表中。 这将允许使用内置的随机在SQL中的函数。 或者你可以将XML文件保存到服务器,加载然后用随机.NET类来接你的XML节点之一。

我个人建议的数据库解决方案。

编辑:由于服务器会话20分钟后销毁你可能想看看使用Cookie,这样你可以看到他们最后看到的随机图像。



Answer 2:

如果你只是想旋转,你可以使用的图像集数ASP.NET AdRotator控件 (最后一个使用它!)。

如果你想要做的事发烧友,使用jQuery的幻灯片这样考虑的jQuery Cycle插件 。 还有一个在AjaxControlToolkit幻灯片控制 ,这是很容易集成。



Answer 3:

string imageDir = "/images/banner/";

public static string chooseImage(string imageDir)
        {
            string[] dirs = Directory.GetFiles(HttpContext.Current.Server.MapPath("~/images/" + imageDir + "/"), "*.*");
            Random RandString = new Random();

            string fileFullPath = dirs[RandString.Next(0, dirs.Length)];

            // Do not show Thumbs.db --- 
            string fileName = string.Empty;
            do
            {
                fileName = System.IO.Path.GetFileName(fileFullPath);

            } while (fileName.Contains(".db"));


            string imgPath = "/images/" + imageDir + "/" + fileName;
            return imgPath;
        }

        private int RandomNumber(int min, int max)
        {
            Random random = new Random();
            return random.Next(min, max);
        }


文章来源: What's the best way to show a random image in ASP.NET?