Mam aplikację ASP.NET MVC4, w której tworzę wiele obszarów, czy jest sposób, w jaki mogę programowo wykryć liczbę obszarów, które są obecne i ich nazwy.ASP.NET MVC4 Lista wszystkich obszarów
Odpowiedz
Funkcja AreaRegistration.RegisterAllAreas();
rejestruje trasę każdego obszaru za pomocą DataTokens["area"]
, gdzie wartość jest nazwą obszaru.
Więc można uzyskać zarejestrowane nazwy powierzchnia od RouteTable
var areaNames = RouteTable.Routes.OfType<Route>()
.Where(d => d.DataTokens != null && d.DataTokens.ContainsKey("area"))
.Select(r => r.DataTokens["area"]).ToArray();
Jeśli szukasz AreaRegistration
siebie można użyć refleksji uzyskać rodzajów która wywodzi się z AreaRegistration
w assambly.
Nie można użyć przed inicjalizacją aplikacji internetowej. Jeśli jednak chcesz uzyskać obszary bez wywoływania RegisterAllAreas()
, np. w zautomatyzowanym teście, to poniższy kod może być pomocne:
var areaNames = new List<string>();
foreach (var type in typeof(MvcApplication).Assembly.GetTypes().Where(t => t.IsSubclassOf(typeof(AreaRegistration)))) {
var areaRegistration = Activator.CreateInstance(type) as AreaRegistration;
areaNames.Add(areaRegistration.AreaName);
}
MvcApplication
Zauważ, że to klasa pochodzi od HttpApplication
. Można użyć dowolnej nazwy klasy, o ile ta klasa znajduje się w tym samym zespole, co rejestracje zespołów, tj. Klas pochodnych od AreaRegistration
. Jeśli podzielisz aplikację na obszary w więcej niż jednym zespole, musisz odpowiednio dostosować ten kod, aby przeszukać wszystkie te złożenia.
- 1. ASP.Net MVC4 WebApi proxy
- 2. Problem routingu ASP.NET MVC4
- 3. Walidacja warunkowa w asp.net MVC4
- 4. Lista wszystkich informacji o sesji
- 5. Jak zdefiniować układ dla określonych obszarów w ASP.Net MVC 4?
- 6. Korzystanie z obszarów w ASP.NET 5
- 7. Wykryj IE8 w ASP.NET MVC4
- 8. ASP.Net MVC4 Mobile-Aware OutputCache
- 9. Asp.net Mvc: Lista wszystkich działań na kontrolerze o określonym atrybucie
- 10. Psql lista wszystkich tabel
- 11. Lista wszystkich diagnostyków gcc
- 12. AppleScript - Lista wszystkich czcionek
- 13. Lista wszystkich krajów rozwijanej
- 14. WPF: Jak otworzyć ContextMenu ze wszystkich obszarów formantu siatki
- 15. Uzyskiwanie listy wszystkich dostępnych obszarów nazw w AppDomain
- 16. Asp.Net MVC Checkbox lista
- 17. ASP.NET MVC4 WebAPI i publikowanie danych XML
- 18. Bad Request - Nieprawidłowa nazwa hosta ASP.NET MVC4
- 19. ASP.NET MVC4 ... jest "BIN" zastrzeżonym słowem kluczowym?
- 20. Jak dodać nową stronę do ASP.NET mvc4?
- 21. Łączenie ASP.NET MVC4 z serwerem Twitter Bootstrap
- 22. Zabezpieczenia ASP.NET MVC4, uwierzytelnianie i autoryzacja
- 23. ASP.NET MVC4 Architektura n-Tier: najlepsze podejście
- 24. Html.BeginForm z atrybutami html asp.net mvc4
- 25. Rozmieszczanie aplikacji asp.net mvc4 do godaddy
- 26. Lista wszystkich folderów w katalogu
- 27. Główna lista wszystkich wydarzeń Tkinter?
- 28. Lista wszystkich typów sqibase sql
- 29. Lista wszystkich rekursywnie svn: externals?
- 30. Lista wszystkich folderów i podfolderów
Dzięki za szybką odpowiedź – dev