2013-02-15 7 views
12

Ich benutze Razor in MVC 4. Ich versuche, eine URL von einer Ansicht in einem Bereich zu einer Controller-Aktion in einem anderen Bereich. Die folgende Code gibt eine leere Zeichenkette:Url.Action() mit Bereich gibt leere Zeichenfolge

@Url.Action("Action", "MyController", new { area = "OtherArea" }) 

ich einige Tests mit anderen Optionen gemacht habe, und die folgenden Renditen eine URL, aber es ist falsch:

@Url.Action("Action", "MyController", new { parameter = 1 }) 

Die resultierende URL ist/App/IncorrectArea/Mein/Aktion? Parameter = 1. Notieren Sie den falschen Bereich; Url.Action geht davon aus (da ich keinen Bereich passiert habe), dass der Controller im aktuellen Bereich wohnt, was er nicht tut!

Irgendwelche Ideen?

Antwort

11

Mein Problem gefunden. Ich hatte den Bereichsnamen geändert, konnte jedoch die AreaName-Eigenschaft in der Bereichsregistrierung nicht aktualisieren.

+4

Haben Sie [T4MVC] (http://t4mvc.codeplex.com/) einen Blick zu emittieren Namen Controller geändert zu beheben viele Probleme im Zusammenhang mit Strings in MVC. –

0

ich hatte das gleiche Problem, weil ich die RegisterRoutes Methode von {controller}/{action}/{id} zu {action}/{id} nur von URL

Verwandte Themen