2009-07-26 7 views
3

Kann ich den Parameter einer Aktion einem anderen Namen zuordnen?Zuordnung des ASP.NET MVC-Aktionsparameternamens zu einem anderen Namen

mag ich reservierte Worte als Parameter für eine Aktion, wie zum Beispiel verwenden:

search?q=someQuery&in=location&for=x 

So „in“ und „für“ wird nicht als Parameternamen der verwendeten Methode. Gibt es dafür eine integrierte Funktion oder soll ich eine Modellbinder erstellen?

Danke.

Antwort

11

Sie können die '@' -Notation verwenden, um den Namen in C# statt eines reservierten Wortes wörtlich zu interpretieren.

public ActionResult Test(string @for) 
{ 
    var something = @for; 
} 
+0

Großartig. Vielen Dank! Total vergessen (wie @class in HTML-Attributen). Aber wie steht es mit der Zuordnung eines Abfrageelements wie "in" zu einem Parameter namens "inLocation"? Ich könnte ActionParameterNameAttribute nur mit der folgenden Verwendung erstellen: [ActionParameterName ("in")] inLocation. Genau wie [ActionName] für Aktionen. – elado

+7

public ActionResult MyMethod ([Bind (Präfix = "in")] string inLocation) {...} – Levi

+0

@Levi - das wird nicht helfen. –