C# 在where条件下使用中继器
我正在用.net创建一个在线书店,我的repeater有问题。我用repeater显示所有书籍都没有问题,但我想显示销售记录超过平均水平的书籍。我在数据库中有一个“BookSales”属性,它保存一本书的销售量。我用codebehid对这段代码取平均值:C# 在where条件下使用中继器,c#,asp.net,webforms,repeater,C#,Asp.net,Webforms,Repeater,我正在用.net创建一个在线书店,我的repeater有问题。我用repeater显示所有书籍都没有问题,但我想显示销售记录超过平均水平的书籍。我在数据库中有一个“BookSales”属性,它保存一本书的销售量。我用codebehid对这段代码取平均值: ETicaretEntities1 entity = new ETicaretEntities1(); var salesAverage = entity.BookTable.Average(sales => sales.
ETicaretEntities1 entity = new ETicaretEntities1();
var salesAverage = entity.BookTable.Average(sales => sales.BookSales);
float satisOrtalama = float.Parse(salesAverage.ToString());
“satisOrtalama”毫无问题地持有真实的平均浮动。以下是我展示书籍的观点:
<asp:Repeater ID="Repeater1" runat="server" DataSourceID="EntityDataSource1">
<ItemTemplate>
<div class="templatemo_product_box">
<h1>EN ÇOK SATANLAR</h1>
<img src="<%#Eval("BookPicture") %>" alt="image" />
<div class="product_info">
<h2><%#Eval("BookName") %></h2>
<%#Eval("BookAuthor") %><br /><br />
<h3><%#Eval("BookPrice") %> TL</h3>
<div class="buy_now_button">
<a href="subpage.html" runat="server">Sepete Ekle</a>
</div>
</div>
</div>
</ItemTemplate>
</asp:Repeater>
例如,如果平均值为1,6,则我希望显示哪本书的“BookSales”属性2或更多。我认为可以在绑定数据之前使用其他Linq表达式。并将您的中继器与新集合绑定。我认为这可能是工作:
var BookSalesMoreThan2=entity.BookTable.Where(p=>p.BookSales>(int)Math.Round(satisOrtalama,0));
如果您的数据源是数据集,是否可以使用DataView的Filter属性根据计算的平均值筛选数据?