我在.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>
答案 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代码。