19

複数の領域を作成している ASP.NET MVC4 アプリケーションがあります。存在する領域の数とその名前をプログラムで調べる方法はありますか。

4

2 に答える 2

32

は、AreaRegistration.RegisterAllAreas();各エリア ルートを に登録しますDataTokens["area"]。ここで、値はエリアの名前です。

登録されている地域名は、RouteTable

var areaNames = RouteTable.Routes.OfType<Route>()
    .Where(d => d.DataTokens != null && d.DataTokens.ContainsKey("area"))
    .Select(r => r.DataTokens["area"]).ToArray();

自分自身を探している場合は、AreaRegistrationリフレクションを使用して、アセンブリから派生した型を取得できAreaRegistrationます。

于 2013-03-28T20:49:55.813 に答える