Я создал приложение asp.net mvc с Index.cshtml
и Index.Mobile.cshtml
.Представления используют тот же контроллер и действие.В процессе разработки я получаю мобильное представление на своем телефоне, а с рабочего стола - на рабочем столе.Все работает как положено.
После развертывания приложения на рабочем сервере на смартфоне все работает, как и ожидалось, пока я не перешел с браузера на рабочем столе на страницу.После перехода из браузера на рабочем столе на страницу я больше не получу мобильное представление на мобильном устройстве.
Я отключил и включил настройки кэширования, но в любом случае у меня такое странное поведение.Я что-то упустил?
отредактировано:
Я получил следующую структуру темы:
/ Темы / DefaultTheme / Views / Cart / Index.Mobile.cshtml / Темы / OceanasTheme/Views/Cart/Index.cshtml
В моем собственном механизме просмотра бритвы я изменил ViewLocationFormats, упростив:
var customViewLocationFormats = new List<string>();
customViewLocationFormats.Add("~/Themes/DefaultTheme/Views/{1}/{0}.cshtml");
customViewLocationFormats.Add("~/Themes/OceanasTheme/Views/{1}/{0}.cshtml");
//override default view location
ViewLocationFormats = customViewLocationFormats.ToArray();
Когда я копирую Index.Mobile.cshtml
в папку OceanasTheme та же проблемапоявляется, за исключением того, что я получаю Mobile.сshtml
от OceanasTheme каждый раз после посещения рабочего стола.(рабочий стол получает Index.cshtml
от OceanasTheme).
Обновлен до MVC 5.2.7 и удален пакет Microsoft.AspNet.Mvc.FixedDisplayModes.Но это все еще не работает.