Du gøre det sådan som du har taget tilløb til, hvor jeg ville foreslå dig at lave en lille metode der returner dig det du ønsker - istedet for at fedte med det i din markup.
Du kunne også gå lidt videre med det (såfremt det er en liste du har brug for flere steder - måske ikke engang udelukkende i forbindelse med præsentationen), og bygge det så du har enkelt adgang til informationen:
Hvis det du ønsker er et grid der ser sådan her ud:
<asp:DataGrid runat="server" id="giffList" AutoGenerateColumns="false" AllowSorting="true">
<Columns>
<asp:BoundColumn DataField="Prefix" HeaderText="Prefix" />
<asp:BoundColumn DataField="NameWithoutPrefix" HeaderText="Name" />
<asp:BoundColumn DataField="Extension" HeaderText="Extension" />
<asp:HyperLinkColumn DataNavigateUrlField="Name" DataTextField="Name" HeaderText="File Name" />
<asp:BoundColumn DataField="LastWriteTime" HeaderText="Last Write Time" ItemStyle-HorizontalAlign="Center" DataFormatString="{0:d}" />
<asp:BoundColumn DataField="Length" HeaderText="File Size" ItemStyle-HorizontalAlign="Right" DataFormatString="{0:#,### bytes}" />
</Columns>
</asp:DataGrid>
Altså med de respektive oplysninger i kolonner for sig - kunne du lave sådan noget som det her:
DirectoryInfo dirInfo = new DirectoryInfo(@"C:\giffer");
giffList.DataSource = new SpecialFileInfoCollection(dirInfo.GetFiles("*.gif"));
giffList.DataBind();
Hvor din specialfilecollection ser sådan her ud:
public class SpecialFileInfoCollection : List<SpecialFileInfo>
{
public SpecialFileInfoCollection(FileInfo[] files)
{
foreach (FileInfo file in files)
{
this.Add(new SpecialFileInfo(file));
}
}
}
Og så mangler du så bare din egen SpecialFileInfo-type:
public class SpecialFileInfo
{
private FileInfo m_File;
public SpecialFileInfo(FileInfo file)
{
m_File = file;
}
public string Extension
{
get { return m_File.Extension.Remove(0,1); }
}
public DateTime LastWriteTime
{
get { return m_File.LastWriteTime; }
}
public long Length
{
get { return m_File.Length; }
}
public string Prefix
{
get { return m_File.Name.Remove(m_File.Name.IndexOf("_")); }
}
public string Name
{
get { return m_File.Name; }
}
public string NameWithoutPrefix
{
get
{
int start = m_File.Name.IndexOf("_")+1;
int cutlength = m_File.Name.IndexOf(".") - start;
return m_File.Name.Substring(start, cutlength);
}
}
}
Så kan du pakke al dillerdalleret ind i den - så du slipper for at bikse med det i andre sammenhænge.
Du kan jo lige skrive hvad du helst vil - ovenstående eksemple burde virke, såfremt dine filer overholder den navnekonvention du har oplyst.
Mvh
Jeg kommer tilsyneladene ikke ret tit forbi...
Men snepnet, smid et svar - det virker rigtigt godt.
Det driller dog lidt, med at få sortering på gridviews til at virke, men eller virker det fint
Halo snepnet er du der?
Smid et svar så jeg kan lukke
Hallo sepnet - kan jeg lukke eller har du for travlt i dit nye job?
Et svar kommer her :o)
Mvh