2009-08-10 14 views
0

Für ein Projekt, an dem ich gerade arbeite, suchen wir nach einer Möglichkeit, Filter dynamisch zu einer Seite hinzuzufügen, die dann den Datenausgang beispielsweise in einem Raster steuert. Wir möchten die Filter dynamisch hinzufügen, da wir möchten, dass der Kunde ändern kann, welche Eigenschaften gefiltert werden können und welcher Filtertyp (Textfeld, Dropdown, Farbauswahl usw.) verwendet werden soll. Der Filter sollte folgendermaßen funktionieren: - Der Kunde verknüpft einen Filter mit einer bestimmten Eigenschaft und gibt den Filtertyp an (für dieses Beispiel: Dropdown). - Ein Benutzersteuerelement, das alle Filterlasten aller angegebenen Filter enthält - Die Filter laden alle Werte der angegebenen Eigenschaft als Optionen. Das erste Mal, wenn die Seite geladen wird; Dies wären die Werte aller Gegenstände. - Jetzt wählt der Benutzer einen Wert aus einem der Filter; Die Seite wird neu geladen. - Nur Elemente mit dem angegebenen Filterwert werden abgerufen. Der Benutzer kann einen oder mehrere Filter gleichzeitig angeben. - Sobald ein Benutzer durch Filterung nach unten navigiert, sollten nur Filterwerte der abgerufenen Elemente in den anderen Filtern verwendet werden.ASP.NET Dynamisches Filtern von Daten

Ich habe die folgenden Probleme: - Wenn ich die Filter Laufzeit erstellen, sind Ereignisse verloren, weil die Steuerelemente jedes Postback neu erstellt werden. - Ich könnte die Filter in PreInit platzieren, die das lösen sollte, aber dann zu bestimmen, welche Steuerelemente geladen werden sollten, wird zum Problem, da das Laden aller Umgebungsvariablen noch nicht fertig ist. - Ich kenne keinen guten Weg, den Filter zurück zu geben Werte zu einem zentralen Punkt, von dem ich eine gute Abfrage machen kann. - Die Abfrage muss dynamisch sein. Ich benutze linq, das ich dynamisch machen möchte, also muss ich nicht immer alles auswählen. Wie kann eine dynamische Auswahlabfrage basierend auf einer in der Datenbank gespeicherten Zeichenfolge erstellt werden? - Ich muss Elemente basierend auf den Filterwerten auswählen und dann den Rest der Filter an die bereits getroffene Auswahl anpassen. Diese Art vermasselt die gesamte regelmäßige Datenbindungssequenz.

Jede Hilfe in einem der oben genannten wäre großartig!

PS: Eine Sache, über die ich nachgedacht habe, waren Filterwerte im Postback, die erkennbar sein müssten. Auf diese Weise könnte der Server sie zur Auswahl verwenden und dann die Filter erstellen und die zuvor ausgewählten Filterwerte automatisch auswählen. Ich bin mir nicht ganz sicher, wie dies obwohl acheive ...

Antwort

0
+0

Es ist nicht so einfach; Die Filter müssen für Layout-Zwecke vom Netz getrennt sein (sie sind tatsächlich neben dem Netz). Die Verwendung von integrierten Filtern ist keine Option. – Jasper