0

我自己在.net中尝试新事物。我想将图像url存储在数据库中并在gridview中动态检索它。我尝试使用blob。但我不想将图像存储在数据库中,而只是urls。一些解决方案我发现我们可以在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>
4

2 回答 2

0

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

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

2.进入gridview的快捷任务菜单,点击edit fields,从AVAILABLE FIELDS列表中选择“ImageField”,点击add,图片字段就被添加到SELECTED FIELDS

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

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

应该可以,ImageField 会自动为您的图像生成 HTML 代码来显示。

于 2013-03-30T18:03:27.897 回答
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],包含图像 URL。如果图像不显示,请检查相对 url 结构,您可能需要像这样添加前缀/调整它:

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

它应该适合你。

于 2013-03-28T18:36:56.197 回答