What were the best practices for the first version of assembler or for DBase I? The assumption there is that the best practices are tied to a product.
Whether it's .NET, or Java, or ASP.NET, or Fox....the best approach generally is to allow the user to pre-filter. There's just no reason in a production application to show a list of 12,000 items without some pre-filtering. All it takes is one new acquisition of data....one new business partner....and 12,000 items becomes 120,000 items.
Yes, there have been times with specific products where a best (or recommended) practice "couldn't" be implemented with a technology....but that's certainly not the case here.
I agree with what Mike is saying.