在我提出问题之前,我想澄清一下,我是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
请帮忙,如何展示我的循环?你能帮帮我吗?
答案 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()))