Avatar billede c-sharp Nybegynder
05. november 2004 - 13:36 Der er 6 kommentarer og
1 løsning

vise alle filerne i en mappe ved hjælp af en repeater

Jeg har følgende kode:

string[] filer = Directory.GetFiles(Server.MapPath("filer\\blade\\"));
liste.DataSource = filer;
liste.DataBind();

Jeg prøver så at vise filerne i min repeater:
<asp:Repeater ID="liste" Runat="server">
  <ItemTemplate>                       
      <td><%# DataBinder.Eval(Container.DataItem, "file") %></td>
    </ItemTemplate>
</asp:Repeater>   

Men det virker ikke, hvorfor?
Avatar billede snepnet Nybegynder
05. november 2004 - 13:59 #1
Det er nok bare fordi du har skrevet file i stedet for filer i dit databindingsudtryk.
mvh
Avatar billede snepnet Nybegynder
05. november 2004 - 14:03 #2
sikke noget vås ! - det er ikke det der er galt (var lidt hurtig der :o).... jeg ser lige om jeg kan finde en shortcut... øjeblik.
mvh
Avatar billede snepnet Nybegynder
05. november 2004 - 14:15 #3
Men indtil jeg har fået kigget lidt på repeateren kan du se denne :

using System;
using System.IO;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;

namespace WebSecurity
{
    public class WebForm1 : System.Web.UI.Page
    {
        protected System.Web.UI.WebControls.Repeater Repeater1;
        protected HtmlForm Form1;

        private void Page_Load(object sender, System.EventArgs e)
        {           
            DirectoryInfo dif = new DirectoryInfo(Server.MapPath(Request.ApplicationPath));
            FileInfo[] files = dif.GetFiles();
            DataGrid dg = new DataGrid();
            dg.DataSource = files;           
            Form1.Controls.Add(dg);
            DataBind();
        }

        override protected void OnInit(EventArgs e)
        {
            InitializeComponent();
            base.OnInit(e);
        }
       
        private void InitializeComponent()
        {   
            this.Load += new System.EventHandler(this.Page_Load);
        }
    }
}
Avatar billede snepnet Nybegynder
05. november 2004 - 14:32 #4
prøv denne :
<asp:Repeater id="Repeater1" runat="server">
    <ItemTemplate>
            <asp:Label><%# DataBinder.Eval(Container,"DataItem.FullName").ToString() %></asp:Label><br>
    </ItemTemplate>
</asp:Repeater>

med denne i page_load

DirectoryInfo dif = new DirectoryInfo(Server.MapPath(Request.ApplicationPath));
FileInfo[] files = dif.GetFiles();
Repeater1.DataSource = files;
DataBind();

Med et FileInfo array har du så også lidt flere relevante oplysninger til rådighed.

mvh
Avatar billede snepnet Nybegynder
05. november 2004 - 23:46 #5
kunne du bruge til noget c-sharp ? (selvom det var en lidt fesen repeater :o)
/snep
Avatar billede c-sharp Nybegynder
08. november 2004 - 08:07 #6
Super snepnet, endnu engang tusind tak for hjælpen!

Smid et svar så er der velfortjente point :-)
Avatar billede snepnet Nybegynder
08. november 2004 - 08:40 #7
et svar får du her :o)
mvh
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester