我正在创建购物网站。我有一个绑定到管理任务的objectdatasource控件的gridview。这个网格负责在sql server数据库中显示items表。每个项目也可能或可能没有图片。所以当这个网格显示给管理员时,我想要为每一行提供相关图像的小缩略图。这里是GridView控件代码:如何在gridview行中显示图片而不将其保存到硬盘驱动器?
<asp:GridView ID="gridview1" runat="server"
DataSourceID="objDataSource" DataKeyNames="item_id">
<Columns>
<asp:BoundField DataField="item_category" Visible="false" />
<asp:BoundField HtmlEncode="true" DataField="item_name"
HeaderText="Item Name" />
<asp:BoundField HtmlEncode="true" NullDisplayText="Not Set"
DataField="item_desc" HeaderText="Item Description" />
<asp:TemplateField HeaderText="Item Picture"
ItemStyle-Width="40px" ItemStyle-Height="40px">
<ItemTemplate>
<!-- here should be the image -->
</ItemTemplate>
</asp:TemplateField>
<asp:CommandField ButtonType="Button" ShowSelectButton="True"
HeaderText="Selecting" />
</Columns>
</asp:GridView>
我只知道我的两个选择,当涉及到显示浏览器图像:
- 节省响应流中的位图。当它呈现给客户端时,这不会在gridview内部(正确?)。
- 在select语句后在硬盘上保存位图并在模板内部使用图像控件,然后动态分配ImageUrl属性。
第二个选项太昂贵了,因为它需要在每个映像(或数据行)的硬盘上写入和读取。所以我怎么做到这一点?它甚至有可能吗?
ps: ajax不是一个选项。
不用谢了。这很好! – jim 2012-02-20 14:50:40