好的。几天前,我问了一个问题,如何在不使用数组的情况下生成 100、1000、10.000 等随机数,我的问题被删除了,因为答案可能并不那么明显。我通过简单的解决方案得到了这个,但现在我遇到了另一个问题。我在这里尝试的是用不同的随机数填充每个动态创建的标签。我不知道为什么每 10 行总是得到相同的数字。这是我正在尝试工作的代码:
protected void btnExample1Random_Click(object sender, EventArgs e)
{
//Making the controls visible
this.Master.FindControl("Div1").Visible = true;
//Generating the random numbers
for (int i = 0; i < 10; i++)
{
Label randomTask = new Label();
Label emptyTask = new Label();
TextBox userInputTextBox = new TextBox();
Random rnd = new Random();
int caseInt = rnd.Next(1, 4), myNum = 0;
switch (caseInt)
{
case 1:
caseInt = 100;
myNum = rnd.Next(1, 100);
break;
case 2:
caseInt = 1000;
myNum = rnd.Next(1, 1000);
break;
case 3:
caseInt = 10000;
myNum = rnd.Next(1, 10000);
break;
}
//Forming the controls
randomTask.ID = "lbl" + i.ToString();
randomTask.Text = caseInt.ToString() + " - " + myNum.ToString() + " ";
userInputTextBox.ID = "box" + i.ToString();
emptyTask.ID = "check" + i.ToString();
//Adding the controls into the placeholder
phTutorijal1.Controls.Add(randomTask);
phTutorijal1.Controls.Add(userInputTextBox);
phTutorijal1.Controls.Add(emptyTask);
phTutorijal1.Controls.Add(new LiteralControl("<br />"));
}
//Separating the next created controls into new line
phTutorijal1.Controls.Add(new LiteralControl("<br />"));
}
这段代码中有一个错误,我找不到它。生成到占位符中的每 10 行具有相同的数字。我在这里错过了什么?
更新: Michael Liu 发现了我的错误:我需要将Random rnd = new Random();
for 循环放在外面