Avatar billede area404 Nybegynder
06. oktober 2008 - 20:54 Der er 2 kommentarer

List filer i en mappe

Hej,

Jeg søger en måde hvorpå jeg kan få en liste over billeder i en mappe uden brug af gridview, gerne med paging i C#.
Lige nu ser koden således ud:

aspx.cs
--------------------------
    protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e)
    {
        GridView1.PageIndex = e.NewPageIndex;
        GridView1DataBind();
    }

    private void GridView1DataBind()
    {
        DirectoryInfo dirInfo = new DirectoryInfo(Server.MapPath("/fromphone/preben/"));
        GridView1.DataSource = dirInfo.GetFiles("*.*");
        GridView1.DataBind();
    }

    protected void Page_Load(object sender, EventArgs e)
    {
        DirectoryInfo dirInfo = new
        DirectoryInfo(Server.MapPath("/fromphone/preben/"));
        GridView1.DataSource = dirInfo.GetFiles("*.*");
        GridView1.DataBind();
    }
-------------------------------

aspx
-------------------------------
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False"
        AllowPaging="True" PageSize="5" PagerSettings-Mode="NextPreviousFirstLast"
        onpageindexchanging="GridView1_PageIndexChanging" BorderWidth="0px"
        style="text-align: left" CaptionAlign="Bottom" CellSpacing="10"
        HorizontalAlign="Center" Width="0px">
    <PagerSettings Mode="NumericFirstLast"></PagerSettings>


    <Columns>
        <asp:TemplateField>
            <ItemTemplate> 
                <p><%# Eval("Name") %></p>
                <asp:HyperLink ID="HyperLink1" runat="server" NavigateUrl='<%# Eval("Name", "/fromphone/preben/{0}") %>' rel="lightbox[roadtrip]" ><img alt="Uploaded fra min telefon" src="<%# Eval("Name", "/fromphone/preben/{0}") %>" height="50" /> </asp:HyperLink>
            </ItemTemplate>

            <AlternatingItemTemplate>
                <p><b><%# Eval("Name") %></b></p>
                <asp:HyperLink ID="HyperLink1" runat="server" NavigateUrl='<%# Eval("Name", "/fromphone/preben/{0}") %>' rel="lightbox[roadtrip]" ><img alt="Uploaded fra min telefon" src="<%# Eval("Name", "/fromphone/preben/{0}") %>" height="50" /> </asp:HyperLink>
            </AlternatingItemTemplate>
        </asp:TemplateField>
    </Columns>
</asp:GridView>

Nogen der kan hjælpe?
/ Ron
Avatar billede jokkejensen Novice
06. oktober 2008 - 22:12 #1
Hvis du vil iterer igennem en række data, er det ofte smartest at bruge en .net control, eller du får i hvert fald en del foræret..

Brug en <asp:repeater> på samme måde som dit gridview, til forskel har du 100% kontrol over dit markup

<asp:Repeater runat="server">
<headertemplate><ul></headertemplate>
<itemtemplate><li><%# Eval("Name", "/fromphone/preben/{0}") %></li></itemtemplate>
<footertemplate></ul></footertemplate>
</asp:repeater>

Så vil du få en unordered list. Men så skal paging selv bygges, old traditional way.

Ellers kan du bare i din markup skrive:

<%
foreach (FileInfo fi in DirectoryInfo(Server.MapPath("/fromphone/preben/"))
{
%>
<li><%=fi.FullName //Eller hvad egenskaber den nu har %>
<%
}
%>


Vh.
Avatar billede area404 Nybegynder
16. oktober 2008 - 15:46 #2
Det passer jo ikke sammen med C koden længere..
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