循环仅显示一个数据

nam*_*din 0 c# mysql asp.net loops sqlconnection

我是新手C#,目前正在自学.在我的项目中,我想要做的是从a中获取10个数据table并在循环中显示.例如,如果它有10个数据,那么所有数据都将显示在default.aspx页面中.目前我的代码只能显示第一行并循环10次.以下是我的样本.

namespace CRM_Attachment

public partial class _Default : System.Web.UI.Page
{

    protected void Page_Load(object sender, EventArgs e)
    {
        string connectionString = System.Configuration.ConfigurationManager.ConnectionStrings["Sample"].ConnectionString;
        SqlConnection con = new SqlConnection(connectionString);

        SqlCommand com;
        con.Open();
        string str = "SELECT TOP 10 FILE_NAME FROM FILE";
        com = new SqlCommand(str, con);
        SqlDataReader reader = com.ExecuteReader();


        //if (reader.HasRows)
       //{
            while (reader.Read())
            {
                labelname1.Text = reader["FILE_NAME"].ToString();
            }
        //}

        reader.Close();
        con.Close();


    }
 }
Run Code Online (Sandbox Code Playgroud)

}

下面是我的default.aspx页面..

<body>
<form id="form1" runat="server">
<% for (int i=0;i<10;i++) {%>
<div>
<asp:Label ID="labelname1" runat="server" Text="Label"></asp:Label>
</div>
<%}%>
</form>
Run Code Online (Sandbox Code Playgroud)

我可以知道我做错了什么.先感谢您.

Aks*_*hat 5

您将相同标签的"Text"属性设置为10次.它在循环的每次迭代中都被覆盖.您应该将列的值从数据库追加到label.修改代码如下:

labelname1.Text += reader["FILE_NAME"].ToString();
Run Code Online (Sandbox Code Playgroud)