我说的是这样的网站: http://www.ernesthemingwaycollection.com
它有一个静态墙纸和一组从页面改变页面的图片,我想实现从一组使用ASP.NET的图像显示随机图像的类似的方式。
编辑 :我想要的形象留在同一个会话,从会话切换到另一个。
我说的是这样的网站: http://www.ernesthemingwaycollection.com
它有一个静态墙纸和一组从页面改变页面的图片,我想实现从一组使用ASP.NET的图像显示随机图像的类似的方式。
编辑 :我想要的形象留在同一个会话,从会话切换到另一个。
你提到的网站没有使用随机的一组图片。 他们被编码到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,这样你可以看到他们最后看到的随机图像。
如果你只是想旋转,你可以使用的图像集数ASP.NET AdRotator控件 (最后一个使用它!)。
如果你想要做的事发烧友,使用jQuery的幻灯片这样考虑的jQuery Cycle插件 。 还有一个在AjaxControlToolkit幻灯片控制 ,这是很容易集成。
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);
}