とてもシンプルな画像ギャラリーを作りたいです。ファイルやフォルダのリストを返すある種のカスタムオブジェクトにリピーターをバインドする方法を理解しようとしています。誰かが私を正しい方向に向けることができますか?
更新:これが私がこれまでに持っているものです、これを行うためのより良い方法があるかどうか私に知らせてください
フォルダーを表示するListView
<asp:ListView ID="lvAlbums" runat="server" DataSourceID="odsDirectories">
<asp:ObjectDataSource ID="odsDirectories" runat="server" SelectMethod="getDirectories" TypeName="FolderClass">
<SelectParameters>
<asp:QueryStringParameter DefaultValue="" Name="album" QueryStringField="album" Type="String" />
</SelectParameters>
</asp:ObjectDataSource>
サムネイルを表示するListView
<asp:ListView ID="lvThumbs" runat="server" DataSourceID="odsFiles">
<asp:ObjectDataSource ID="odsFiles" runat="server" SelectMethod="getFiles" TypeName="FolderClass">
<SelectParameters>
<asp:QueryStringParameter Type="String" DefaultValue="" Name="album" QueryStringField="album" />
</SelectParameters>
</asp:ObjectDataSource>
そしてここにFolderClassがあります
public class FolderClass
{
private DataSet dsFolder = new DataSet("ds1");
public static FileInfo[] getFiles(string album)
{
return new DirectoryInfo(System.Web.HttpContext.Current.Server.MapPath("/albums/" + album)).GetFiles();
}
public static DirectoryInfo[] getDirectories(string album)
{
return new DirectoryInfo(System.Web.HttpContext.Current.Server.MapPath("/albums/" + album)).GetDirectories()
.Where(subDir => (subDir.Name) != "thumbs").ToArray();
}
}