如何用图片替换asp.net/c中的随机数?

时间:2011-05-31 10:16:23

标签: c# asp.net c#-4.0

我正在尝试用图片替换随机数。例如,如果随机数为1,则显示图片black.jpg:

Cache[diceKey] = r.Next(1, 5);  // random (1-4)

if (r.Next(1, 2) == 1 )
    image.BackImageUrl = "Images/black.png";

如果随机数为1,有什么解决方案可以显示我的图片吗?

2 个答案:

答案 0 :(得分:6)

将图片网址存储在数组中。生成随机索引以访问图像:

string[] imageUrls = new [] { "foo.png", "bar.png", "foobar.png" };
// ...
Random r = new Random();
image.BackImageUrl = imageUrls[r.Next(imageUrls.Length)];

更新(但仍未解决问题)

如果生成的随机数为1,则仅设置特定图像:

int i = r.Next(1, 5); // random (1-4)

Cache[diceKey] = i; 

if (i == 1)
{
  image.BackImageUrl = "Images/black.png";
}

答案 1 :(得分:2)

正如我在评论r.Next(1, 2)中已经说过的那样总是会返回1,所以你总是会显示黑色图片......

我认为您应该将代码更改为:

var randomValue = r.Next(1, 5);  // random (1-4)
Cache[diceKey] = randomValue;

if (randomValue == 1)
    image.BackImageUrl = "Images/black.png";
else
    image.BackImageUrl = "";