Asp.Net DataList связывает массив ImageUrls - PullRequest
2 голосов
/ 09 апреля 2009

Я пытаюсь создать сетку миниатюр, используя список данных. У меня есть массив imageurls, и я хочу связать их в коде позади. Как мне это сделать? Я хочу, чтобы у списка данных был максимальный размер столбца, равный 5, и добавляли строки миниатюр до тех пор, пока они не будут завершены.

<asp:DataList ID="dlImages" runat="server" 
          RepeatColumns="5" 
          RepeatDirection="Horizontal" 
          RepeatLayout="Flow">

   <ItemTemplate>
      <asp:Image ID="imgStore" runat="server" />
   </ItemTemplate>

</asp:DataList>

CodeBehind:

protected void BindImages(string[] imageurls)
{
    for (int i = 0; i < imageurls.Length; i++)
    {
        .
        .
        .
    }
}

1 Ответ

6 голосов
/ 09 апреля 2009

Я думаю, что это сделает это за вас

<asp:DataList ID="dlImages" runat="server" 
      RepeatColumns="5" 
      RepeatDirection="Horizontal" 
      RepeatLayout="Flow">

<ItemTemplate>
   <img src="<%# (string)Container.DataItem %>" />
</ItemTemplate>

</asp:DataList>

Код позади

protected void BindImages(string[] imageurls)
{
    dlImages.DataSource = imageurls; 
    dlImages.DataBind();
}

Вы также можете сделать

<asp:Image runat="server" id="imgStore" 
     ImageUrl="<%# (string)Container.DataItem %>" />

Но иногда серверным элементам управления не нравятся блоки рендеринга.

...