2011-07-16 46 views
1

我想用Galleria與一個asp.net ListView,這些圖像上傳後從數據庫中獲取圖像源。以下是我的列表視圖:使用Galleria jQuery插件與一個asp.net ListView

 <div id="photoAlbumDiv" class="photoAlbumDiv"> 


     <asp:ListView ID="ListView1" runat="server" DataKeyNames="id" > 
      <AlternatingItemTemplate> 
       <td runat="server" style=""> 
       </td> 
      </AlternatingItemTemplate> 
      <EditItemTemplate> 
       <td runat="server" style=""> 
       </td> 
      </EditItemTemplate> 
      <EmptyDataTemplate> 
       <table style=""> 
        <tr> 
         <td> 
          No data was returned.</td> 
        </tr> 
       </table> 
      </EmptyDataTemplate> 
      <InsertItemTemplate> 
       <td runat="server" style=""> 

       </td> 
      </InsertItemTemplate> 
      <ItemTemplate> 
       <td runat="server" style=""> 
        <img id="photoAlbumPhotos" src='<%# Eval("img") %>' alt="Image Not Found" class="photoAlbumPhotos" /> 
       </td> 
      </ItemTemplate> 
      <LayoutTemplate> 
       <table runat="server" border="0" style=""> 
        <tr ID="itemPlaceholderContainer" runat="server"> 
         <td ID="itemPlaceholder" runat="server"> 
         </td> 
        </tr> 
       </table> 
       <div style=""> 
       </div> 
      </LayoutTemplate> 
      <SelectedItemTemplate> 
       <td runat="server" style=""> 
        id: 
        <asp:Label ID="idLabel" runat="server" Text='<%# Eval("id") %>' /> 
        <br /> 
        img: 
        <asp:Label ID="imgLabel" runat="server" Text='<%# Eval("img") %>' /> 
        <br /> 
       </td> 
      </SelectedItemTemplate> 
     </asp:ListView> 

    </div> 

這裏是我的jQuery:

     <script type="text/javascript"> 
         Galleria.loadTheme('Scripts/themes/classic/galleria.classic.min.js'); 
         $("#photoAlbumDiv").galleria({ 
          height: 1000, 
          width: 1000 
         }); 
         </script> 

能不能做到,感謝

+0

Alison:你怎麼能得到每個圖像的描述?謝謝 – shazia

+0

@shazia - 你應該在這裏找到答案http://galleria.io/docs/references/data/ – Wahtever

回答

4

你處理事情的錯誤的方式,使之更加困難比它需要。該廣場預計插件的HTML如下安排:

<div> 
    <img /> 
    <img /> 
    <img /> 
    ... 
    <img /> 
</div> 

正如你所看到的,只不過是一個div中的圖像。你有一個不能工作的表結構。使用下面的代碼來運行一個快速示例,你會看到它是多麼容易。

的Javascript

<script src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.4.2.js"></script> 
<script type="text/javascript" src="galleria/galleria-1.2.4.min.js"></script> 
<script type="text/javascript"> 
    $(document).ready(function() { 
     Galleria.loadTheme('galleria/themes/classic/galleria.classic.min.js'); 
     $("#gallery").galleria({ 
      width: 200, 
      height: 300 
     }); 
    });   
</script> 

ASPX

<asp:ListView runat="server" ID="lvw"> 
    <LayoutTemplate> 
     <div id="gallery"> 
      <asp:PlaceHolder ID="itemPlaceholder" runat="server"></asp:PlaceHolder> 
     </div> 
    </LayoutTemplate> 
    <ItemTemplate> 
     <img id="photoAlbumPhotos" src='<%# Eval("img") %>' alt="Image Not Found" class="photoAlbumPhotos" /> 
    </ItemTemplate> 
</asp:ListView> 

C#

protected void Page_Load(object sender, EventArgs e) 
{ 
    lvw.DataSource = //Build datasource from database; 
    lvw.DataBind(); 
} 

就是這樣。您應該在瀏覽器中運行一個簡單的Galleria畫廊。

+0

但是使用listview是從數據庫檢索圖像,如果我正確理解你的代碼,我必須在 – Wahtever

+0

後面的代碼中指定每個圖像我對圖像URL進行了硬編碼,因爲它可以讓你輕鬆地在你的代碼上運行示例代碼自己的機器,看看這個解決方案對你來說有多好。您可以使用存儲在數據庫中的數據輕鬆更改C#代碼以綁定ListView。我會更新這個問題,以便你能看到我的意思。 –

+0

@Wahtever:我稍微更新了答案,以表明您可以使用數據庫中的數據數據綁定ListView。如果你使用SqlDataSource或者ObjectDataSource來綁定ListView,那麼這段代碼仍然可以正常工作,但是你不需要隱藏代碼。更新你的問題,讓我知道你是如何綁定ListView的。 –