我想创建一个非常简单的图片库。我想弄清楚如何将Repeater绑定到某种自定义对象,该对象将返回一个文件和/或文件夹列表。有人能指出我正确的方向吗?将中继器绑定到文件和/或文件夹列表
UPDATE: 这里是我到目前为止,请让我知道,如果有更好的方法来做到这一点
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();
}
}
你把我在正确的轨道上,但我可以做到这一点,而无需创建一个类? 这是我走到这一步, 的 的 public class FolderClass { private DataSet dsFolder = new DataSet(“ds1”); public FolderClass(string path){} public static FileInfo [] getFiles() {return new DirectoryInfo(@“E:\ Documents \ Projects \ aaa.com \ albums \ Bridal Bqt”)。GetFiles();} } –
PBG
2009-08-28 00:17:17
不是如果你需要处理目录和文件。此外,也许更新你的主要帖子,这有点难以阅读这个小评论部分的代码:)另外,你写的方式,它很好地封装,所以我不会担心它。做得很好。 – 2009-08-28 00:19:20
我编辑了我原来的帖子 – PBG 2009-08-28 12:51:19