Мой жерех разметки выглядит следующим образом:Как использовать datalist в asp.net C#?
<asp:DataList ID="dtlist" runat="server" RepeatColumns="3" CellPadding="5" OnItemDataBound="dtlist_DataBound">
<ItemTemplate>
<asp:Image Width="150" ID="Image1" ImageUrl='<%# Container.DataItem %>' runat="server" />
<br />
<asp:HyperLink ID="HyperLink12" Text='<%# Container.DataItem %>' NavigateUrl='<%# Container.DataItem %>' runat="server"/>
</ItemTemplate>
</asp:DataList>
Мой C# код выглядит следующим образом:
protected void dtlist_DataBound(object sender, DataListItemEventArgs e)
{
string albumName = Context.Request.QueryString["Album"];
try
{
DirectoryInfo dir = new DirectoryInfo(MapPath(string.Format("Images/{0}", albumName)));
FileInfo[] files = dir.GetFiles();
foreach (FileInfo info in files)
{
((Image)e.Item.FindControl("Image1")).ImageUrl = string.Format("~/Images/{0}/{1}", albumName, info.Name);
((HyperLink)e.Item.FindControl("HyperLink12")).Text = info.Name;
((HyperLink)e.Item.FindControl("HyperLink12")).NavigateUrl = string.Format("~/Images/{0}/{1}", albumName, info.Name);
}
}
catch (Exception ex)
{
throw;
}
}
Я хочу, чтобы отобразить изображения из определенной папки (альбома) хранится в дисководе. Когда пользователь нажмет альбом 1, будут показаны все изображения из альбома1. Напр. если в альбоме 1 содержится 10 изображений, тогда 10 изображений должны отображаться в datalist. Но из моего приведенного выше кода на всех 10 изображениях отображается только последнее изображение. Есть ли способ изменить приведенный выше код для отображения 10 отдельных изображений?
dir.GetFiles() Выберите, в этой строке, это дает ошибку, говоря System.Array не содержит определение для Select – nightfire001
добавьте System.Linq имен в файле .cs.. –