显示循环结果为 asp.net

本文关键字:asp net 结果 循环 显示 | 更新日期: 2023-09-27 18:33:12

我刚开始使用 ASP.NET,在显示循环结果时遇到问题。例如:

int x = 0;
while (x < 10) {
  Label1.Text = x+""; // This will show only result 9 ( last result ). 
    x++;
}

如何显示所有结果而不是仅显示一个结果?

显示循环结果为 asp.net

而不是:

Label1.Text = x+"";

做:

Label1.Text = Label1.Text + x;

这将仅显示结果 9(最后一个结果)。

是的,因为您在每次迭代中Label1.Text属性分配一个新值。

试试这个;

int x = 0;
while (x < 10)
{
  Label1.Text = Label1.Text + x;
  x++;
}

或者改为在while外部定义一个string值,并将其int循环中的值添加,并在循环外分配.Text值,例如;

int x = 0;
string s = "";
while (x < 10)
{
  s += x;
  x++;
}
Label1.Text = s;

或者使用StringBuilder如果您使用大量数字会更好;

int x = 0;
StringBuilder s = new StringBuilder();
while (x < 10)
{
  s.Append(x);
  x++;
}
Label1.Text = s.ToString();
int x = 0;
while (x < 10) {
  Label1.Text += x+""; // This will show "123456789". 
    x++;
}

您需要在每次迭代中添加文本。

如果你想显示它们的列表:

Label1.Text += "," + x.ToString();

Label1.Text = Label1.Text + "," + x.ToString();

无论哪种方式都会产生结果:

0,1,2,3,4,5,6,7,8,9

你应该累积每个元素的值,如下所示:

int x = 0;
while (x < 10) {
  Label1.Text = Label1.Text + x;
  x++;
}
int x = 0;
while (x < 10) {
  Label1.Text += x.ToString();  
    x++;
}

你可以使用字符串生成器

试试这个:

 StringBuilder sb = new StringBuilder();
    int x = 0;
        while (x < 10) {
          sb.Append(x);
          sb.Append(" ");
            x++;
        }
 Label1.Text = sb.ToString(); 

请使用下面的代码,您必须在每次迭代中为 Label1.Text 分配一个新 ID。

int x = 0;
    while (x < 10)
    {
        label1.Text += x.ToString();
        x++;
   }

替换

Label1.Text = x+"";

  Label1.Text = Label1.Text + x.ToString();

+=将字符串附加到变量而不是替换它,

int x = 0;
while (x < 10) {
  Label1.Text += x+" "; //append space to separate  
    x++;
}