如果是而不是如何,我可以在转发器中使用过滤器吗?在 asp.net c# 中有可能吗?
在我的项目中,我将动态数据过滤器放在转发器中。
请参阅我想要在中继器中使用那种类型的过滤器的示例单击此处
由于您的转发器绑定到数据源,因此您应该对其应用过滤条件。例如,如果 Datasource 由 SQLDataSource 表示,请参阅SqlDataSource.FilterExpression 属性主题。这似乎是客户端过滤。如果是这样,最好的解决方案是设置 SQLDataSource.SelectCommand 属性,以便它从数据库中获取所需的数据。这将减少从 DB Server 传输到 WebServer 的数据大小,并使您的应用程序运行得更快。
正确的方法是过滤数据源上的数据,但是在转发器中,您也可以过滤它们并将它们显示为:
<asp:Repeater ID="rMyID" runat="server">
<ItemTemplate>
<% if (Condition) { %>
Show this line
<%} %>
</ItemTemplate>
</asp:Repeater>
“过滤器”是什么意思?我认为您必须在数据源上执行此操作。
如果要在浏览器中进行过滤,则需要使用 JavaScript 来显示和隐藏每个 Item 的主要元素。
如果您在服务器上进行过滤,则需要在 DataSource 上进行过滤以删除您不想要的条目,并在每次更改时 DataBind() 重复器。您可以使用代码手动进行过滤,或者如果 platon 建议可用,则使用 FilterExpression。
我认为最好的方法是使用数据表过滤器属性。这是一个简单的例子。
_dt = _dt.Select("COLUMN_NAME <> 'YOURFILTER'").CopyToDataTable();