Ich werde hier gelacht und an meinem ersten MVC 4-Projekt mit der Web Api-Variante gearbeitet.Wie Abfrage-String-Variablen in MVC 4 Request erhalten?
In MVC 3 Ich könnte eine Abfrage-String-Parameter wie solche erhalten:
var unicornName = Request.Query["unicornName"];
Aber in MVC 4, es sieht aus wie die Anforderung von einem HttpRequestBase
ging zu einem HttpRequestMessage
und der Abfrage-Parameter ist nicht mehr. Also, hmm, okay, wie bekomme ich sie jetzt? Ich habe ein paar Beispiele im Internet gefunden, aber sie sind absurd.
This fellow recommends Aufteilen der RequestUri Abfrage Zeichenfolge von "&" und finden Sie Ihren Parameter und Paar. And this example zeigt das Aufrufen einer GetQueryNameValuePairs
Methode für das neue Anforderungsobjekt, das eine Liste von Schlüsselwertpaaren zurückgibt und dann eine Linq ausführt, um Ihren Schlüssel und Wert zu finden. Es kann nicht wirklich rückwärts gehen, um etwas so Einfaches zu bekommen. Bitte sag mir, dass mir etwas fehlt!
Hinweis: (leicht) Ich kann den Weg der Modell Bindung zu gehen und ich sollte über die Klage der Methode params, aber es gibt immer noch Zeiten, als Query-String-Variablen werden müssen, gerupft es verstehen in Query-String-Parameter werden zu bringen von der Anfrage, wie in einem Filter.
Was ist los mit der Arbeit mit einer Liste von Schlüssel/Wert-Paaren? Klingt ziemlich vernünftig für mich. –
Wow .. Ich denke ich habe nichts vermisst. Es ist eine Frage der Regression, denke ich. Was würdest du lieber verwenden, [blah] anfordern oder anfordern.GetQueryNameValuePairs(). ToDictionary (e => e.Key, e => e.Value) ["blah"]? – Levitikon
Es scheint ** Request.QueryString ["Query-String-Name"] ** ist wieder in MVC 5, habe es einfach selbst ausprobiert und alles funktioniert wie ein Charme. –