在数据库中存储图像并在datagridview中检索

本文关键字:datagridview 检索 存储 数据库 图像 | 更新日期: 2023-09-27 18:06:16

我正在尝试新的东西,我想在数据库中存储图像url,并在gridview中动态检索它。我试过用blob。但我不想在数据库中存储图像,而只是url。一些解决方案,我发现,我们可以使用模板字段在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>

在数据库中存储图像并在datagridview中检索

在您的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]中的列,包含图像URL。如果图像不显示,检查相对url结构,您可能需要像这样添加前缀/调整它:

/images/image1.jpg../images/image1.jpg(取决于包含图像的文件夹的相对位置)

将图像存储在项目的解决方案资源管理器中的文件夹中,如果要保存到数据库的链接,则将列的数据类型设置为varchar(MAX),并将图像到数据库表的链接存储如下:

1。如果文件夹名为Image,则将url存储为../Image/picture.jpg

2。进入gridview的快速任务菜单,点击编辑字段,在AVAILABLE fields列表中选择"ImageField",点击添加,图像字段被添加到SELECTED fields

3。上下移动选定字段中的"ImageField",将其置于其他列之间

4。点击"ImageField",ImageField属性将显示在右侧,GOTO在"DataImageUrlField"中选择要检索图像的数据库表列名。

这应该工作,ImageField将自动生成HTML代码为您的图像显示