Frage

Ich versuche, einen MapRoute Anruf zu schreiben, die jede Route machen, die mit „json /“ prepend „json“, um die Aktion der Namen vorangestellt. Zum Beispiel kann eine Route etwas wie folgt aus:

"json/{controller}/{action}"

mit "json / Foo / Bar", sollte es nach sich ziehen:

controller = "Foo"
action = "jsonBar"

Irgendwelche Ideen?

War es hilfreich?

Lösung

Ich frage mich, ob es nicht besser wäre, json in den Routendaten aufzunehmen und sehen Sie in der Aktion auf? das heißt, wenn Sie Ihre Route abbildet, verwenden Sie so etwas wie (für die Standardwerte):

new { mode="json", controller = "Home", action = "Index", id = "" }

oder Karte die Route als:

"{mode}/{controller}/{action}"

dann Zugriff auf diese in der Steuerung:

string mode = (string) RouteData.Values["mode"];

(oder es passiert in als Argument)

Other than that, könnten Sie möglicherweise Ihre eigenen Route-Handler schreiben, aber das ist eine Menge Arbeit.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top