2013-02-15 26 views
12

Sto usando Razor in MVC 4. Sto provando a creare un URL da una vista in un'area ad un'azione di controller in un'altra area. Il seguente restituisce una stringa vuota:Url.Action() con area restituisce una stringa vuota

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

ho fatto alcuni test con altre opzioni, e le seguenti ritorna un URL, ma è sbagliato:

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

L'URL risultante è/app/IncorrectArea/My/Azione? parametro = 1. Nota l'area sbagliata; Url.Azione presuppone (dal momento che non ho passato un'area) che il controllore vive nell'area corrente che non lo fa!

Qualche idea?

risposta

11

Trovato il mio problema. Avevo cambiato il nome dell'area, ma non è riuscito ad aggiornare la proprietà AreaName nella registrazione dell'area.

+4

Date un'occhiata al [T4MVC] (http://t4mvc.codeplex.com/) per fissare molti problemi relativi alle stringhe in MVC. –

0

Ho avuto lo stesso problema, perché ho cambiato il metodo RegisterRoutes da {controller}/{action}/{id} a {action}/{id} solo per emettere nome del controller da URL

Problemi correlati