为什么我的循环不能在asp.NET中运行?

时间:2014-12-24 03:45:03

标签: c# asp.net loops

在我提出问题之前,我想澄清一下,我是Asp.NET的初学者。

这是我的Default.aspx:

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="WebApplication3.Default" %>


<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title>This is title..</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <asp:Label ID="loop" runat="server" />
    </div>
    </form>
</body>
</html>

这是我的default.aspx.cs:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace WebApplication3
{
    public partial class Default : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            for (int i = 0; i < 10; i++)
            {
                loop.Text = i.ToString();
            }
        }
    }
}

输出

9

请帮忙,如何展示我的循环?你能帮帮我吗?

4 个答案:

答案 0 :(得分:1)

您的代码将从 0 循环到 9 (因为它仅在小于 10时才会继续),并将值设置为标签的文字。因此,您的代码将仅显示最新值,即9。

如果您要创建多个标签或附加文本,那些需要不同的代码。您当前的代码只是在每次迭代时覆盖文本值。

要制作预期结果,请将每个值附加到文本中。

示例:

for (int i = 0; i < 10; i++)
   loop.Text += i.ToString();

答案 1 :(得分:1)

一个选项......

        for (int i = 0; i < 10; i++)
        {
            loop.Text += i.ToString() + ", ";
        }

这将使标签显示1, 2, 3, 4, 5, 6, 7, ect.

这证明循环发生了。当您使用Web表单时,我不知道您希望从一个POST发生什么,这意味着一个请求发送到服务器并且一个响应被发回,所以您真正要做的就是显示循环的每个迭代标签。另外,你需要更复杂的方法,(没什么太疯狂的),但根据我们的问题,你还不知道。使标签保持changniog上升

答案 2 :(得分:0)

该行:

loop.Text = i.ToString();

用&#34; 0&#34;,&#34; 1&#34;,&#34; 2&#34;,...,&#34; 9&覆盖了循环文本#34;在每次迭代。在最后一次迭代中,将循环设置为"9"并打印出来。

循环因此按预期工作。

要向循环添加文字,请改用loop.Test += ...

答案 3 :(得分:0)

只需在page_Load方法中添加以下代码即可。

loop.Text = string.Join(",", Enumerable.Range(0, 10).Select(i => i.ToString()))