Wie implementieren von search-Funktionalität in C#/ASP.NET MVC

Ich bin die Entwicklung einer ASP.NET MVC 3-Anwendung mit C# und Razor.

Ich habe ein such-Formular, das wie folgt aussieht:
Wie implementieren von search-Funktionalität in C#/ASP.NET MVC

Dem Suchformular funktioniert in der folgenden Weise:

  1. Der Benutzer wählt aus, welche Immobilie Sie suchen möchten.
  2. Der Benutzer wählt, wie Sie wollen, um den Suchkriterien entsprechen (z.B. enthält, beginnt mit, endet mit, ist gleich, etc).
  3. Der Benutzer gibt einen Suchbegriff ein und klickt auf Suchen.

Die Auswahl im ersten drop-down in direktem Zusammenhang mit einer Eigenschaft, die in meinem ADO.NET Entity Framework model-Klasse (und damit direkt zu einer Tabelle Spalte).

Benutzer die Möglichkeit, explizit auswählen, welche Eigenschaft und welche matching-Methode bei der Suche, z.B. dass sich ein Benutzer wird explizit die Suche für alle Spiele der Prozess-Nummer, die gleich '132'.

Mein Erster Ansatz war der Einsatz von dynamischen linq to konstruieren Sie eine Where-Klausel aus der Suche nach Kriterien (siehe meine ursprüngliche Frage). Aber ich fange an zu denken, dass dies nicht der beste Weg, es zu tun.

Ich hoffe auch für Sie eine Lösung, die nicht von mir verlangen, zu codieren das Ergebnis für jede Eigenschaft + matching-Kriterien-Kombination.

Irgendwelche Vorschläge, wie ich das umsetzen sollte dieser Suche? Es muss nicht mit meiner aktuellen Suche zu bilden, die völlig offen für alle anderen Ideen, die den Anforderungen entsprechen.

wissen Sie, das ist soooo old fashion! In unserer Anwendung haben wir eine schnelle Suche so einfach wie Google Chrome oder IE 9 Adresse-bar, wo Sie können, geben Sie entweder eine url oder Suche nach text. Nicht mehr benötigen, geben Sie den Namen der Spalte oder Bedingungen, nur eine Volltextsuche auf sinnvolle Spalten und kombinieren die Ergebnisse mit anderen möglichen Kombinationen, einfacher und reibungsloses Benutzererlebnis, das unsere Nutzer lieben diese, nach einer ersten phase der "verloren" 😀
Ich bin mir nicht sicher, ob diese Art der Suche ist die Spezifität, die erforderlich ist, von unseren Nutzern. Sie müssen in der Lage sein, um explizit anzugeben, ob Sie möchten, enthält, ist gleich, etc., und ich möchte vermeiden, Sie zu zwingen, zu lernen, einige string-syntax, dies zu erreichen. Fühlen Sie sich frei, um Ihre Anregung als eine Antwort.
Wenn Sie Modell die Immobilie, der Betreiber und der Begriff als 3 verschiedene Personen, ich verstehe nicht, warum die "dynamic linq" - option zwingen würde Sie zu fest etwas? Sie bauen würde, das erwartete Linq - Abfrage als string - aus gesammelten Informationen aus dem 3-Entitäten. Zum Beispiel, können Sie erstellen eine LinkOperation Eigentum der Betreiber-Einrichtung, die Ihnen dabei helfen, diese Zeichenfolge.
Hat dein switch-case-Anweisung auf den Typ oder den Namen des Attributs? Meiner Ansicht nach sein, die den Typ des Attributs, das ist wichtig und sollte Wirkung sowohl auf die Validierung des Klausel-Bereichen und den ausbau der Klausel. Jedoch konnte nicht Sie Gruppe thr-Typen in über 4 Fälle, Numerisch, Text, Zeit und alles andere?

InformationsquelleAutor dnatoli | 2011-08-29

Schreibe einen Kommentar