2017-12-05 2 views
-1

Mein C# -CodeASP.NET: Repeater funktioniert nicht für mich

public partial class Message : System.Web.UI.Page 
{ 
    String strconn = ConfigurationManager.ConnectionStrings["db"].ConnectionString; 
    protected void Page_Load(object sender, EventArgs e) 
    { 
     members(); 
    } 

    public void members() 
    { 
     SqlConnection con = new SqlConnection(strconn); 
     con.Open(); 
     try 
     { 
      string str = "Select Users.Username,Users.Name,ProfilePic.Pathh From Users FULL OUTER JOIN ProfilePic ON Users.username = ProfilePic.Username ORDER BY Users.Sno"; 
      SqlCommand cmd = new SqlCommand(str,con); 
      SqlDataAdapter da = new SqlDataAdapter(cmd); 
      DataSet ds = new DataSet(); 
      da.Fill(ds); 
      repMembers.DataSource = ds; 
      repMembers.DataBind(); 
      GridView1.DataSource = ds; 
      GridView1.DataBind(); 
      cmd.Dispose(); 
      con.Close(); 
     } 
     catch(Exception ex) { 
      lbMembers.Text = ex.ToString(); 
     } 
    } 
} 

und mein HTML-Code

<asp:Repeater ID="repMembers" runat="server" > 
          <asp:ItemTemplate > 
           <div style="width:100%; border-bottom:#ffffff 2px solid;"> <asp:Image ID="Image4" runat="server" ImageUrl='<%#Eval("Pathh") %>' width="60px" Height="60px"/>&nbsp;<asp:Label ID="lb" runat="server" Text='<%#Eval("Username") %>'></asp:Label><br/><asp:Label ID="lbname" runat="server" Text='<%#Eval("Name") %>'></asp:Label><br/></div> 
          </asp:ItemTemplate> 
         </asp:Repeater> 

Meine Tabelle ist absolut korrekt und arbeitet, überprüfte ich es mit der Grid-Ansicht. Es gibt mir die "Name", "Benutzername" und "Pfad" gespeichert. Ich habe es mit SQL-Abfrage überprüft und es in der Rasteransicht angezeigt.

This is the Photo of my table,it is the combination of two tables

+1

Abgesehen von Ihrem Problem, da mit diesem Code so viel falsch ist - fehlende Aussage oder nicht vollständig entsprechen Schluss über/entsorgen Verbindung, hartkodierte SQL, schlechter Namensgebung, fest UI-Seite, um Ihre Daten Logik gekoppelt .. –

+0

Es ist auch viel falsch mit dem obigen Kommentar. – DavidB

+1

@DavidB während er die Frage per se nicht beantwortet, ist nichts falsch daran, andere mögliche Probleme mit dem Code aufzuzeigen. – Abbas

Antwort

1

Verwenden ItemTemplate statt asp:ItemTemplate. Es gibt auch einen Tippfehler mit dem Wort "Pathh", löst das dein Problem?

<ItemTemplate > 
    <div style="width:100%; border-bottom:#ffffff 2px solid;"> 
     <asp:Image ID="Image4" runat="server" ImageUrl='<%#Eval("Path") %>' width="60px" Height="60px"/> 
     &nbsp; 
     <asp:Label ID="lb" runat="server" Text='<%#Eval("Username") %>'></asp:Label> 
     <br/> 
     <asp:Label ID="lbname" runat="server" Text='<%#Eval("Name") %>'></asp:Label> 
     <br/> 
    </div> 
</ItemTemplate> 
+1

Danke, es hat funktioniert. Ich habe anstelle von verwendet –