2016-04-27 128 views
0

我是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> 

我可以知道我做錯了。先謝謝你。

回答

5

您正在設置相同標籤的「文本」屬性10次。它在循環的每次迭代中都被覆蓋。您應該將數據庫中列的值附加到標籤。修改代碼如下:

labelname1.Text += reader["FILE_NAME"].ToString(); 
+0

謝謝你的回答。該代碼已經工作。非常感謝。 – namasayadin

+0

歡迎您@namasayadin –