I have grid of products. Each product row in the grid can be expended to show the full product details (done with Ajax). The sample bellow shows how I implemented the microdata into the grid (not the full product details). The same microdata repeats over and over in the page Is this the best way?
<tbody>
@foreach (var product in Model)
{
<tr itemscope itemtype="http://schema.org/Product" class="tr_prod" style="height:105px;" productid="@product.Id" optionid="@product.OptionId" shopcityid="@product.ShopCityId">
<td>
<div class="prod_img_small">
<img class="preview" src="@Url.Content("~/Files/Products/" + product.ImgFileName)" />
</div>
</td>
<td itemprop="name">
<b>@product.Name</b>
</td>
<td>
<div itemprop='productID'>
<b>@product.Id</b>
</div>
</td>
<td>
<div itemscope itemprop="priceSpecification" itemtype="http://schema.org/DeliveryChargeSpecification">
<b><span itemprop="price">@product.DeliveryPrice</span></b>
</div>
</td>
<td>
<b>@product.ProductPrice</b>
</td>
<td>
<b>@product.TotalPrice </b>
</td>
</tr>
}
</tbody>