2013-02-15 16 views
12

Używam Razor w MVC 4. Próbuję zrobić URL z widoku w obszarze do działania kontrolera w innym obszarze. Poniższy zwraca pusty ciąg:Url.Action() z obszarem zwraca pusty ciąg

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

Zrobiłem kilka testów z innych opcji, oraz następujące Zwraca URL, ale to jest złe:

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

Powstały URL/App/IncorrectArea/My/Action? Parametr = 1. Zwróć uwagę na nieprawidłowy obszar; Url.Action zakłada (ponieważ nie przekroczyłem obszaru), że kontroler żyje w bieżącym obszarze, którego nie ma!

Wszelkie pomysły?

Odpowiedz

11

Znaleziono mój problem. Zmieniłem nazwę obszaru, ale nie zaktualizowałem właściwości AreaName w rejestracji obszaru.

+4

Zapraszamy do obejrzenia [T4MVC] (http://t4mvc.codeplex.com/) naprawić wiele problemów związanych z łańcuchami w MVC. –

0

miałem ten sam problem, bo zmieniła sposób RegisterRoutes z {controller}/{action}/{id} do {action}/{id} tylko emitować nazwę kontrolera z URL