我是C#
的新手,目前正在学习自己。在我的项目中,我想从table
中获取10个数据并循环显示。例如,如果它有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();
}
}
}
以下是我的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>
我可以知道我在做什么错。先感谢您。
最佳答案
您要设置相同标签的“文本”属性10次。在循环的每次迭代中都将覆盖它。您应该将列的值从数据库追加到标签。修改代码如下:
labelname1.Text += reader["FILE_NAME"].ToString();
关于c# - 循环仅显示一个数据,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36880342/