2011-12-20 233 views
2

在這種情況下 - 我有圖像的名稱(如: - abc.jpg的)保存在數據庫中&實際圖像在於文件系統(〜/ ClientImages /)的文件夾。顯示圖像從數據庫中ASP.NET

現在我想從數據庫中檢索圖像:

ImageUrl = <%# string.Format("~/ClientImages/{0}", Eval("image")) %> 

它重新尺寸600×400 &顯示在頁面上div

我創建使用網格視圖存儲過程&但無法完成它。

我也可以不用網格視圖,我的意思是如何的DataTable圖像

dt.Rows[0]["image"] 

設置爲div通過CS?

由於提前

更新

只爲菜鳥:P 這是一個非常基本的方法,您也可以填寫從CS文件DataGrid中,但我選擇了骯髒的做法ie.SqlAdaperSource 採取一個GridView選擇 - 數據源(即: - SqlDataAddapter,通過嚮導)。

<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" 
    DataKeyNames="id" DataSourceID="SqlDataSource1"> 
    <Columns>   
    <asp:TemplateField> 
    <ItemTemplate> 
    <asp:Image ID="img12" runat="server" Width="600px" Height="400" ImageUrl='<%# Page.ResolveUrl(string.Format("~/ClientImages/{0}", Eval("image"))) %>' /> 

    </ItemTemplate> 
    </asp:TemplateField> 

    </Columns> 

</asp:GridView> 


## SqlDataSource ## 
<asp:SqlDataSource ID="SqlDataSource1" runat="server" 
    ConnectionString="<%$ ConnectionStrings:XXXXConnectionStringName %>" 
    SelectCommand="Stored_Procedure_Name" SelectCommandType="StoredProcedure"> 
</asp:SqlDataSource> 

回答

2

您可以爲<img><asp:image>約束和解決圖像:

<div> 
    <img id="img1" runat="server" width='600' height='400' 
     src='<%# Page.ResolveUrl(string.Format("~/ClientImages/{0}", Eval("image"))) %>' /> 
</div> 

<div> 
    <asp:image id="img1" runat="server" Width='600' Height='400' 
     ImageUrl='<%# Page.ResolveUrl(string.Format("~/ClientImages/{0}", Eval("image"))) %>' /> 
</div> 

如果要調整圖像在飛行中,你可以在這個問題上使用代碼:

create fixed size thumbnail dynamically on listview control

+2

我認爲,這裏的關鍵是調用Page.ResolveUrl()。我敢打賭,在他原來的代碼中是唯一讓他絆倒的東西。他期待標記能夠翻譯該網址,當他所做的只是在html頁面上寫一個代字符時,瀏覽器不知道該如何處理它。 – 2011-12-20 02:49:47

0

調整圖像大小可以輕鬆完成。這裏有一個例子:http://snippets.dzone.com/posts/show/4336

至於查看代碼看起來沒什麼問題的圖像。顯示圖像有什麼問題。你知道,如果你是通過ASP.NET輸出它,你將需要做

<img src='<%# string.Format("/ClientImages/{0}", Eval("image")) %>' alt='' />