<asp:ListView ID="ListView1" runat="server" ondatabound="ListView1_DataBound"
onitemdatabound="ListView1_ItemDataBound" >
<LayoutTemplate>
<ul class="productlist">
<asp:PlaceHolder ID="itemPlaceholder" runat="server"></asp:PlaceHolder>
</ul>
</LayoutTemplate>
<ItemTemplate>
<li><img src='Images/ART MATERIALS/<%#Eval("ImageURL") %>' /><br />
<asp:LinkButton ID="HyperLink1" runat="server" Text='<%#Eval("Name")%>' PostBackUrl='<%#Eval("WebSite")%>'/>
<asp:HiddenField id="hdnProductId" runat="server"/>
</li>
</ItemTemplate>
<EmptyDataTemplate>
<div style="text-align:center;">No Products found</div>
</EmptyDataTemplate>
</asp:ListView>
internal sealed class Products
{
//public int ID { get; set; }
public string Name { get; set; }
public string ImageUrl { get; set; }
public string WebSite { get; set; }
}
DataSet dsProduct = new DataSet();
string strQry = "Select * from ProductDet where ProductId in(select ProductId from ProductMaster where CatId = '1' and SubCatId='" + intSubCatId + "' and BrandId='" + intBrandId + "')";
dsProduct = db.GetTableDefinedDataSet(strQry, "Products");
if (dsProduct.Tables["Products"].Rows.Count > 0)
var query = dsProduct.Tables["Products"].AsEnumerable()
.GroupBy(x => x.Field<string>("ProductName").ToString())
.Select(x => x.First());
foreach (DataRow DistinctProducts in query)
// drpAvailableColours.Items.Add(new ListItem(DistinctProducts["ProductName"].ToString(), DistinctProducts["ColourCode"].ToString()));
new Products { Name = DistinctProducts["ProductName"].ToString(), ImageUrl = "~/Images/ART MATERIALS/" + DistinctProducts["ImageURL"].ToString(), WebSite = "temp.aspx?CatId=1&SubCatId=" + intSubCatId + "&BrandId=" + intBrandId };
ListView1.DataSource = ProdList;
ListView1.DataBind();