[英]store image in database and retrieve in datagridview
我自己在.net中嘗試新事物。我想將圖像URL存儲在數據庫中並在gridview中動態地檢索它。我嘗試使用blob。但是我不想將圖像存儲在數據庫中,而僅將URL存儲在數據庫中。我發現我們可以在gridview中使用模板字段並以某種方式使用bind函數。我也可以將所有圖像存儲在項目文件夾中並從文件夾中檢索圖像。單擊按鈕我想在gridview中顯示圖像。但是我仍然無法繼續前進。這是我到目前為止的代碼。
<div>
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False"
DataKeyNames="Model_Id" DataSourceID="SqlDataSource1">
<Columns>
<asp:BoundField DataField="Model_Id" HeaderText="Model_Id"
InsertVisible="False" ReadOnly="True" SortExpression="Model_Id" />
<asp:BoundField DataField="Model_Name" HeaderText="Model_Name"
SortExpression="Model_Name" />
<asp:BoundField DataField="Max_seats" HeaderText="Max_seats"
SortExpression="Max_seats" />
<asp:BoundField DataField="Image" HeaderText="Image" SortExpression="Image" />
</Columns>
</asp:GridView>
<asp:SqlDataSource ID="SqlDataSource1" runat="server"
ConnectionString="<%$ ConnectionStrings:ConnectionString %>"
SelectCommand="SELECT * FROM [Model]"></asp:SqlDataSource>
</div>
在您的GridView
添加一個模板字段,即
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False"
DataKeyNames="Model_Id" DataSourceID="SqlDataSource1">
<Columns>
<asp:TemplateField HeaderText="Photo">
<ItemTemplate>
<img src='<%# Eval("Image") %>' />
</ItemTemplate>
</asp:TemplateField>
//other bound columns
</Columns>
</asp:GridView>
其中Image
是表[Model]
的列,其中包含Image URL。 如果未顯示圖片,請檢查相對網址結構,您可能需要像這樣對它進行前綴/調整:
/images/image1.jpg
到../images/image1.jpg
/images/image1.jpg
../images/image1.jpg
(取決於包含圖像的文件夾的相對位置)
它應該為您工作。
將圖像存儲在項目的解決方案資源管理器中的文件夾中,如果要保存到數據庫的鏈接,則將列的數據類型設置為varchar(MAX),然后將圖像的鏈接存儲到數據庫表中,如下所示。
1.如果您的文件夾名為Image,則將URL存儲為../Image/picture.jpg
2.轉到gridview的快速任務菜單,然后單擊“編輯”字段,然后從“可用字段”列表中選擇“ ImageField”,然后單擊“添加”,然后將圖像字段添加到“選定的字段”中
3.向上或向下移動“ SELECTED FIELDS”中的“ ImageField”以將其放置在其他列之間
4.單擊“ ImageField”,ImageField屬性將顯示在右側的“ GOTO DATA”中,並在“ DataImageUrlField”中選擇要從中檢索圖像的數據庫表列名稱。
沒錯,ImageField會自動為您的圖像生成HTML代碼以供顯示。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.