Ho un'applicazione ASP.NET MVC4 in cui sto creando più aree, c'è un modo per trovare a livello di programmazione il numero di aree presenti e il loro nome.ASP.NET MVC4 Elenco di tutte le aree
risposta
Il AreaRegistration.RegisterAllAreas();
registra ogni percorso di area con DataTokens["area"]
dove il valore è il nome dell'area.
modo da poter ottenere i nomi delle aree registrate dal RouteTable
var areaNames = RouteTable.Routes.OfType<Route>()
.Where(d => d.DataTokens != null && d.DataTokens.ContainsKey("area"))
.Select(r => r.DataTokens["area"]).ToArray();
Se siete alla ricerca per il AreaRegistration
se stessi è possibile utilizzare la reflection per ottenere tipi che deriva dal AreaRegistration
nel vostro assambly.
AreaRegistration.RegisterAllAreas()
non può essere utilizzato prima dell'inizializzazione dell'applicazione Web. Tuttavia, se si desidera ottenere le aree senza chiamare RegisterAllAreas()
, ad es. in un test automatico, quindi il seguente codice può essere utile:
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);
}
Nota che MvcApplication
è la classe derivata da HttpApplication
. È possibile utilizzare qualsiasi nome classe purché tale classe si trovi nello stesso assembly delle registrazioni assembly, ovvero le classi derivate da AreaRegistration
. Se hai diviso la tua applicazione con aree in più di un assembly, allora dovresti adattare questo codice di conseguenza, in modo da cercare tutti quegli assembly.
- 1. Durandal e MVC4 Aree per più SPA
- 2. Ottenere un elenco di tutte le sessioni attive in ASP.NET
- 3. Ninject e asp.net MVC4
- 4. Routing e aree ASP.NET MVC
- 5. Asp.Net MVC4 Display CheckboxList
- 6. Test di percorso ASP.NET MVC4
- 7. Problema di routing ASP.NET MVC4
- 8. Le aree nidificate sono possibili in ASP.NET MVC 2?
- 9. Elenco di tutte le diagnosi di gcc
- 10. Elenco di tutte le tabelle nel database
- 11. Ottenere Elenco di tutte le classi native
- 12. Ottenere un elenco di tutte le applicazioni
- 13. elenco di tutte le tabelle nel database
- 14. Elenco di tutte le cartelle e sottocartelle
- 15. Asp.Net MVC3 a MVC4 Strumento di aggiornamento?
- 16. Distribuire un'applicazione asp.net mvc4 a godaddy
- 17. ASP.NET MVC4 localizzazione convalida discreto
- 18. ASP.Net MVC4 Mobile-Aware OutputCache
- 19. asp.net mvc4 cambia jquery versione
- 20. Convalida condizionale in asp.net MVC4
- 21. Rileva IE8 in ASP.NET MVC4
- 22. Utilizzo delle aree in ASP.NET 5
- 23. Elenco Android tutte le immagini disponibili
- 24. selezionare tutte le immagini utilizzando Asp.Net C#
- 25. Aree multiprogetto in ASP.Net MVC 3
- 26. ASP.NET MVC Aree con layout condiviso
- 27. Come distribuire asp.net MVC 4 applicazione avere più aree
- 28. Distribuzione dell'applicazione ASP.NET MVC4 su GoDaddy Compiler
- 29. Elenco tutte le variabili (e le loro proporzioni) in un sottoinsieme di un dataframe
- 30. Come modificare il JRE predefinito per tutte le aree di lavoro di Eclipse?
Grazie per la risposta rapida – dev