Порядок поиска местоположения ViewEngine в порядке, но отображает представление из неправильной папки

У меня есть плагин nopCommerce, который имеет пользовательский механизм просмотра следующим образом:

CustomViewEngine : ThemeableRazorViewEngine

Плагин имеет вид файла под названием CategoryNavigation.cshtml который также существует в Views\Catalog\CategoryNavigation.cshtml

Теперь, если я удаляю файлы, ошибки, о которых сообщают механизмы представления, следующие:

Как вы можете видеть, первым искомым местоположением является папка плагина.

Так что, если файл существует в папке плагина, но не в Views\Catalog\ папка затем отображается из папки плагина без каких-либо ошибок. Но если файл существует как в папке плагина, так и в Views\Catalog\ тогда вид с Views\Catalog\ оказано. Но Views\Catalog\ Это далеко вниз в местах поиска (см. изображение выше). Есть идеи, что может быть причиной проблемы?

nopCommerce 3.70

1 ответ

Мне нужно представление из плагина, чтобы сделать вид не по умолчанию

Если вы хотите отобразить страницу просмотра из вашего плагина, вы должны использовать механизм просмотра плагина, который вы уже сделали. Но убедитесь, что вы также определите ViewLocationFormats как после.

 public class CustomViewEngine :ThemeableRazorViewEngine 
    {         
        public CustomViewEngine ()
        {    
            ViewLocationFormats =
                new[]
                {                               
                     "~/Plugins/Feed.Instagram/Views/Catalog/{0}.cshtml"
                };
        }  
    }

Здесь создайте папку (каталог) в вашей папке просмотра и вставьтеcategoryNavigation.csh‌​tml внутрь.

Он будет отображать страницу просмотра из вашего плагина вместо по умолчанию.

Надеюсь, это поможет вам!

За дополнительной информацией обращайтесь к этому: Способы отображения представлений в ваших плагинах nopCommerce.

Другие вопросы по тегам