2016-04-27 19 views
0

Ich bin neu zu C# und derzeit selbst studieren. In meinem Projekt möchte ich 10 Daten von einer table nehmen und in einer Schleife zeigen. Zum Beispiel, wenn es 10 Daten hat, so werden alle Daten in der default.aspx Seite angezeigt. Zur Zeit kann mein Code nur die erste Zeile anzeigen und 10 Mal wiederholen. Unten ist meine Probe.Die Schleife zeigt nur eine Daten

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(); 


    } 
} 

}

Im Folgenden finden Sie meine default.aspx Seite ..

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

Kann ich weiß, was ich falsch mache. Vielen Dank im Voraus.

Antwort

5

Sie legen die "Text" -Eigenschaft desselben Labels 10 Mal fest. Es wird bei jeder Iteration der Schleife überschrieben. Sie sollten den Wert der Spalte von der Datenbank an die Bezeichnung anhängen. Ändern Sie den Code wie folgt:

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

Vielen Dank für diese Antwort. Der Code hat schon funktioniert. Ein wirklich großer Dank. – namasayadin

+0

Sie sind herzlich willkommen @namasayadin –