Dynamische ASP.NET-Daten Fügen Sie der Seite zusätzliche Filterkriterien hinzu

8

Wie sollte ich einer Webanwendung für dynamische Daten zusätzliche Such- / Filterkriterien hinzufügen?

Ich habe eine Dynamic Data-Webanwendung mit der Northwind-Datenbank erstellt und verwende eine benutzerdefinierte Seite für die Employees-Tabelle (basierend auf der Seitenvorlage ListDetails.aspx). Ich möchte zusätzliche Such / Filter / Wo Parameter zur Seite hinzufügen. Standardmäßig wird die Sammlung von Wo-Parametern dynamisch basierend auf dem FilterRepeater-Steuerelement erstellt, das ebenfalls basierend auf den "Fremdschlüssel" -Beziehungen der Employee-Tabelle dynamisch erstellt wird.

Beim Versuch, zusätzliche Suchkriterien hinzuzufügen, habe ich mich an das Selecting-Ereignis der LinqDataSource des GridViews gebunden und versucht, der WhereParameters-Auflistung des LinqDataSourceSelectEventArgs zusätzliche Elemente hinzuzufügen.

Das Problem ist, dass ich nicht angeben kann, welche Art von Vergleich durchgeführt werden soll. Die WhereParameters-Auflistung akzeptiert nur eine Zeichenfolge und ein Objekt, nicht jedoch, wie sie verglichen werden. Was ich wirklich gerne tun könnte, ist eine Sammlung von Prädikatdelegaten hinzuzufügen ...

Wie sollte ich dieser Seite zusätzliche Suchkriterien hinzufügen? Über Attribute, die auf die Entität LINQ To SQL angewendet werden (wenn ja, wie)? Was wäre, wenn das Kriterium / Kriterium nicht auf der Entität selbst basiert, wie würde ich dann die Suchkriterien hinzufügen?

Aaron Hoffman

    
Aaron Hoffman 09.04.2009, 15:30
quelle

2 Antworten

6

Hier ist, was in ASP.NET 4.0 funktioniert: Ссылка

    
Oleg Sych 29.07.2010, 12:02
quelle
7

Wenn Sie der Anwendung eigene Kriterien hinzufügen möchten, die Ihnen nicht automatisch von DD zugewiesen werden, müssen Sie zu gehen DynamicDataFiltering um das zu tun. DynamicData selbst unterstützt derzeit keine benutzerdefinierten Filter und Suchvorgänge. Es ist nicht schwer zu implementieren. Josh Heyes hat einen tollen Job gemacht.

Komm zurück, wenn das nicht ganz das ist, wonach du suchst

BEARBEITEN: Wenn Sie nur eine weitere Filterung der angezeigten Daten vornehmen möchten, könnten Sie etwas ähnliches in Page_Init ohne Joshs Filterprojekt schreiben:

%Vor%

Doing "in" oder "enthält" ist ein wenig komplizierter als das und würde DynamicDataFiltering erfordern.

    
jlembke 09.04.2009 16:58
quelle