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

时间:2013-03-28 17:54:45

标签: c# asp.net sql gridview asp.net-mvc-2

我在.net中尝试新的东西。我想将图像url存储在数据库中并在gridview中动态检索它。我尝试过使用blob.But我不想将图像存储在数据库中而只是存储在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>

2 个答案:

答案 0 :(得分:0)

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]中包含图片网址的列。 如果图像没有显示,请检查相对网址结构,您可能需要像这样对其进行前缀/调整:

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

它应该适合你。

答案 1 :(得分:0)

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

1.如果您的文件夹名称是Image,则将URL保存为../ Image / picture.jpg

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

3.向上或向下移动SELECTED FIELDS中的“ImageField”以将其放置在其他列之间

4.单击“ImageField”,ImageField属性将显示在右侧,GOTO   DATA和“DataImageUrlField”中选择要从中检索图像的数据库表列名称。

这应该有效,ImageField会自动生成要显示的图像的HTML代码。