2016-06-11 8 views
0

Ich bin mit diesem Routen FilterASP.Net MVC 5 Routing Wildcard Abfragezeichen +

[Route("search/{*segments}")] 

dies alle Segmente nimmt Ich reiche die viele sein könnte.

Hier ist ein Beispiel

http://localhost:50877/search/c_50_showcases%5E-displays/a_brand-name:33113319_balt:1623762%7Cmooreco:1672386/a_total-number-of-shelves:33111115429_5:3138:lt/so_ts 

nun auch den Query-String Ich muß mit dieser Strecke, aber ich bin nicht in der Lage, damit es funktioniert.

http://localhost:50877/search/?query=HP%20DesignJet&items=HEW51645A|ELI75220 

Es gibt mir 403 Fehler.

Der Web-Server ist so konfiguriert, um den Inhalt dieses Verzeichnisses nicht auflisten

Wie kann ich einen Weg machen, die Wildcard und Query-String nimmt die eingehende Anforderung zu verarbeiten. Ich bin verpflichtet, search in Route zu verwenden.

Auch habe ich versucht, mit diesem

http://localhost:50877/search/test?query=HP%20DesignJet&items=HEW51645A|ELI75220 

Es funktioniert, aber dies wirkt sich auf die SEO.

+0

Siehe [Der Web-Server ist nicht Liste konfiguriert der Inhalt dieses Verzeichnisses] (http://stackoverflow.com/a/32143133/181087) – NightOwl888

Antwort

1

definieren Aktion und Strecke auf diese Weise:

[System.Web.Mvc.Route("search/{*segments}")] 
public ActionResult Search(string segments, string query, string items) 

erlaubt Wildcard zu bekommen (in Segmente variabel) und auch String-Parameter (Abfrage und Artikel) abfragen

+0

das gibt mir 403 Fehler –

+0

haben Sie Verzeichnis namens "Suche" in Ihrem Projekt? –

+0

ja und das ist genau der gleiche Code, den Sie gepostet haben –