Crew .NET |
|
Je kan blijkbaar niet zomaar een string doorgeven, of ik zou toch niet weten hoe. Anders was het simpel opgelost. Ik heb het even anders gedaan en dit werkt:
//namen ophalen
string[] aryPhotos = Directory.GetFiles(strFileSystemPath, "*.jpg");
//DataTable maken
DataTable dt = new DataTable();
//1 kolom van het type String hieraan toevoegen
dt.Columns.Add(new DataColumn("Image", System.Type.GetType("System.String")));
//DataView maken, dit wordt de source van de Repeater
DataView dv = new DataView(dt);
//DataRow initaliseren
DataRow dr;
foreach (string strPhoto in aryPhotos)
{
//voor elke naam in de array een nieuwe rij aanmaken
dr = dt.NewRow();
//in de eerste kolom (beginnen tellen bij 0), er is maar 1 kolom trouwens de waarde zetten
dr[0] = strDirAlbum + strPhoto.Substring(strFileSystemPath.Length + 1);
//rij toevoegen aan DataTable
dt.Rows.Add(dr);
}
//Source van Repeater instellen
imageRepeater.DataSource = dv;
imageRepeater.DataBind();
//namen ophalen string[] aryPhotos = Directory.GetFiles(strFileSystemPath, "*.jpg"); //DataTable maken DataTable dt = new DataTable ();//1 kolom van het type String hieraan toevoegen dt. Columns. Add(new DataColumn ("Image", System. Type. GetType("System.String")));//DataView maken, dit wordt de source van de Repeater DataView dv = new DataView (dt );//DataRow initaliseren DataRow dr; foreach (string strPhoto in aryPhotos) { //voor elke naam in de array een nieuwe rij aanmaken dr = dt.NewRow(); //in de eerste kolom (beginnen tellen bij 0), er is maar 1 kolom trouwens de waarde zetten dr[0] = strDirAlbum + strPhoto.Substring(strFileSystemPath.Length + 1); //rij toevoegen aan DataTable dt.Rows.Add(dr); } //Source van Repeater instellen imageRepeater.DataSource = dv; imageRepeater.DataBind();
Het kan korter zodat je niet het DataRow-object elke keer moet gaan toepassen:
string[] aryPhotos = Directory.GetFiles(strFileSystemPath, "*.jpg");
DataTable dt = new DataTable();
dt.Columns.Add(new DataColumn("Image", System.Type.GetType("System.String")));
DataView dv = new DataView(dt);
foreach (string strPhoto in aryPhotos)
dt.Rows.Add(dt.NewRow()[0] = strDirAlbum + strPhoto.Substring(strFileSystemPath.Length + 1));
imageRepeater.DataSource = dv;
imageRepeater.DataBind();
string[] aryPhotos = Directory.GetFiles(strFileSystemPath, "*.jpg"); DataTable dt = new DataTable ();dt. Columns. Add(new DataColumn ("Image", System. Type. GetType("System.String")));DataView dv = new DataView (dt ); foreach (string strPhoto in aryPhotos) dt.Rows.Add(dt.NewRow()[0] = strDirAlbum + strPhoto.Substring(strFileSystemPath.Length + 1)); imageRepeater.DataSource = dv; imageRepeater.DataBind();
En dan de aspx-pagina:
<asp:Repeater ID="imageRepeater" runat="server">
<ItemTemplate>
<asp:Image ImageUrl='<%# DataBinder.Eval(Container.DataItem, "Image") %>' runat="server" />
<br />
</ItemTemplate>
</asp:Repeater>
<asp:Repeater ID="imageRepeater" runat="server"> <ItemTemplate> <asp:Image ImageUrl='<%# DataBinder.Eval(Container.DataItem, "Image") %>' runat="server" /> </ItemTemplate> </asp:Repeater>
|