2016-04-27 9 views
0

私はC#に新規で、現在自分自身を勉強しています。私のプロジェクトでは、tableから10のデータを取り出し、ループで表示することをお勧めします。たとえば、データが10個の場合、すべてのデータはdefault.aspxページに表示されます。現在、私のコードは最初の行のみを表示し、10回ループすることができます。以下は私のサンプルです。ルーピングは1つのデータのみを表示します

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回設定しています。ループの繰り返しごとに上書きされています。データベースのcolumnの値をlabelに追加する必要があります。以下のコードを変更してください:

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

ありがとうございます。コードは既に働いています。本当に大きな感謝です。 – namasayadin

+0

ようこそ@namasayadin –

関連する問題