Решил это. Чтобы добавить подкаталог «Shared / Partials», который я создал, к списку местоположений, в которых выполняется поиск при попытке найти частичное представление в Razor с помощью:
@Html.Partial("{NameOfView}")
Сначала создайте движок представлений с RazorViewEngine в качестве базового класса и добавьте местоположения представлений следующим образом. Опять же, я хотел сохранить все мои частичные представления в подкаталоге «Partials», который я создал в каталоге «Views / Shared» по умолчанию, созданном MVC.
public class RDDBViewEngine : RazorViewEngine
{
private static readonly string[] NewPartialViewFormats =
{
"~/Views/{1}/Partials/{0}.cshtml",
"~/Views/Shared/Partials/{0}.cshtml"
};
public RDDBViewEngine()
{
base.PartialViewLocationFormats = base.PartialViewLocationFormats.Union(NewPartialViewFormats).ToArray();
}
}
Обратите внимание, что {1} в формате местоположения является именем контроллера, а {0} является именем представления.
Затем добавьте этот механизм представления в коллекцию MVC ViewEngines.Engines в методе Application_Start () в вашем global.asax:
ViewEngines.Engines.Add(new RDDBViewEngine());