Ядро asp: где настроена папка «Shared» и как изменить ее путь? - PullRequest
0 голосов
/ 10 октября 2018

Эта строка в cshtml

<partial name="_CookieConsentPartial" />

предполагает поиск _CookieConsentPartial.cshtml в папке \Pages\Shared.

Можно ли настроить веб-приложение "для поиска _CookieConsentPartial" в \Pagesпапка?

Я удалил общую папку и переместил _CookieConsentPartial.cshtml в папку \ Pages, но после этого <partial name="_CookieConsentPartial" /> перестал работать - <partial name="\_CookieConsentPartial.cshtml" /> работает - но это то, чего я хочу избежать.

1 Ответ

0 голосов
/ 10 октября 2018

Для настройки дополнительного пути к папке поиска вы можете настроить RazorViewEngineOptions, например:

       services.Configure<RazorViewEngineOptions>(options => {
            options.PageViewLocationFormats.Add("/Pages/Shared-1/{0}.cshtml");
        });

По умолчанию, PageViewLocationFormats уже определены /Pages/{0}.cshtml

     // Remarks:
    //     Locations are format strings (see https://msdn.microsoft.com/en-us/library/txafckwd.aspx)
    //     which may contain the following format items:
    //     {0} - View Name {1} - Page Name
    //     Microsoft.AspNetCore.Mvc.Razor.RazorViewEngineOptions.PageViewLocationFormats
    //     work in tandem with a view location expander to perform hierarchical path lookups.
    //     For instance, given a Page like /Account/Manage/Index using /Pages as the root,
    //     the view engine will search for views in the following locations: /Pages/Account/Manage/{0}.cshtml
    //     /Pages/Account/{0}.cshtml /Pages/{0}.cshtml /Pages/Shared/{0}.cshtml /Views/Shared/{0}.cshtml
    public IList<string> PageViewLocationFormats { get; }
...