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

C# 在数据库中存储图像并在datagridview中检索,c#,asp.net,sql,gridview,asp.net-mvc-2,C#,Asp.net,Sql,Gridview,Asp.net Mvc 2,我自己在.net中尝试新事物。我想在数据库中存储图像url,并在gridview中动态检索它。我尝试过使用blob。但我不想在数据库中存储图像,只想存储url。我发现的一些解决方案,我们可以在gridview中使用模板字段,并以某种方式使用绑定函数。我还可以在中存储所有图像项目文件夹并从文件夹中检索图像。单击按钮后,我想在gridview中显示图像。但我仍然无法继续。这是我到目前为止的代码 <div> <asp:GridView ID="GridView1" r

我自己在.net中尝试新事物。我想在数据库中存储图像url,并在gridview中动态检索它。我尝试过使用blob。但我不想在数据库中存储图像,只想存储url。我发现的一些解决方案,我们可以在gridview中使用模板字段,并以某种方式使用绑定函数。我还可以在中存储所有图像项目文件夹并从文件夹中检索图像。单击按钮后,我想在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>

网格视图中添加模板字段,即

<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
(取决于包含图像的文件夹的相对位置)


它应该适合您。

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

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

2.转到gridview的快速任务菜单,单击编辑字段,从可用字段列表中选择“ImageField”并单击添加,然后将图像字段添加到所选字段

3.向上或向下移动选定字段中的“ImageField”以将其放置在其他列之间

4.单击“ImageField”,ImageField属性将显示在右侧,转到 数据,然后在“DataImageUrlField”中选择要从中检索图像的数据库表列名

这应该行得通,ImageField将自动为要显示的图像生成HTML代码。

试试这个