これを行う1つの方法は、CSSを使用してセルの背景を画像に設定し、価格をプレーンテキストとして同じセルに書き込むことです(レンダリングされた出力が表示されます)。
<td class="product"
style="background: url(path-to-image.png) top left no-repeat">
<span class="price">$ 3.22</span>
</td>
このアプローチの唯一の欠点は、セルのサイズを画像と同じサイズに明示的に設定する必要があることです。これは、あなたが知らない場合があります。
別のオプションは<img>
、セル内の要素を使用<span>
し、プレーンテキストの価格(レンダリングされた出力が表示される)に引き続きを使用することです。
<td class="product">
<img src="path-to-image.png" alt="..."/>
<span class="price">$ 3.22</span>
</td>
どの方法でも、CSSを使用してセル内の価格を配置およびスタイル設定します。
td.product {
position: relative
}
span.price {
position: absolute;
top : 40px; < whatever works for you
left: 40px; <
}
テンプレートを使用した非常に単純なGridViewの例
GridViewのAutoGenerateColumns
プロパティをfalseに設定し、列の作成とテンプレート作成を自分で処理する必要があります。
<asp:GridView ID="products" runat="server"
AutoGenerateColumns="false"
DataKeyNames="productId"
DataSourceID="ObjectDataSource1">
<Columns>
<asp:BoundField DataField="productId" HeaderText="Product ID" />
<asp:TemplateField HeaderText="Whatever ...">
<ItemTemplate>
<img src='<%# DataBinder.Eval(Container.DataItem,"productImageUrl") %>'
alt="..." />
<span class="price">
<%# DataBinder.Eval(Container.DataItem,"productPrice","{0:c}") %>
</span>
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField DataField="productDesc" HeaderText="Description" />
</Columns>
</asp:GridView>