Для добавления нового пути для поиска файлов шаблонов DisplayTemplates и EditorTemplates в ASP.NET Core, необходимо выполнить следующие шаги:
1. Создайте класс, реализующий интерфейс IViewLocationExpander. Например:
```csharp
public class CustomViewLocationExpander : IViewLocationExpander
{
public IEnumerable<string> ExpandViewLocations(ViewLocationExpanderContext context, IEnumerable<string> viewLocations)
{
return new string[]
{
"/Views/Shared/DisplayTemplates/{0}.cshtml",
"/Views/Shared/EditorTemplates/{0}.cshtml"
};
}
public void PopulateValues(ViewLocationExpanderContext context)
{
}
}
```
2. Зарегистрируйте этот класс в ConfigureServices методе в классе Startup:
```csharp
services.Configure<RazorViewEngineOptions>(options =>
{
options.ViewLocationExpanders.Add(new CustomViewLocationExpander());
});
```
Теперь ASP.NET Core будет искать файлы шаблонов DisplayTemplates и EditorTemplates в указанных путях вместе с путями по умолчанию.
Для добавления нового пути для шаблонов в ASP.NET MVC, можно воспользоваться методом Add метода ViewData:
```csharp
ViewData.AddViewTemplatePath("/CustomTemplates/{0}.cshtml");
```
Этот путь будет автоматически использоваться при поиске шаблонов вместе с путями по умолчанию.