Вы можете написать собственный движок представления. Я приведу пример с Razor:
public class MyViewEngine : RazorViewEngine
{
public MyViewEngine()
{
base.AreaViewLocationFormats = base.AreaViewLocationFormats.Union(new[]
{
"~/Areas/{2}/Views/{1}{0}.cshtml"
}).ToArray();
}
}
и затем зарегистрируйте этот механизм просмотра в Application_Start
:
ViewEngines.Engines.Add(new MyViewEngine());
и это почти все, что вам нужно для достижения того, что вы ищете.
И, конечно, если вы используете движок представления WebForms, необходимы небольшие изменения:
public class MyViewEngine : WebFormViewEngine
{
public MyViewEngine()
{
base.AreaViewLocationFormats = base.AreaViewLocationFormats.Union(new[]
{
"~/Areas/{2}/Views/{1}{0}.aspx"
}).ToArray();
}
}