Режим отображения в ASP.NET MVC4 - PullRequest
4 голосов
/ 10 января 2012

Где-то упоминалось, что когда браузер является мобильным, ASP.NET MVC4 будет запрашивать _Layout.Mobile.cshtml. Это не тот случай и не происходит.

Требуется ли какая-либо настройка, чтобы включить эту функцию?

Ответы [ 6 ]

4 голосов
/ 10 января 2012

По данным ASP.NET Team (http://www.asp.net/whitepapers/mvc4-release-notes):

Если ваша папка Views \ Shared содержит шаблоны _Layout.cshtml и _Layout.mobile.cshtml, по умолчанию приложение будет использовать _Layout.mobile.cshtml во время запросов из мобильных браузеров и _Layout.cshtml во время других запросов.

Если у вас есть эти файлы, то, возможно, проблема в том, что движок для мобильных устройств обнаруживается неправильно, вы можете сообщить нам, если выобновил проект MVC 3 до MVC 4 или создал новый проект MVC 4? Если первое, я рекомендую вам попытаться создать новый проект MVC 4 и посмотреть, если проблема все еще возникает, если это возможно, возможно, ваша установка MVC 4 несколькоповрежден ...

РЕДАКТИРОВАТЬ: Вам необходимо скопировать Views \ Shared_Layout.cshtml в Views \ Shared_Layout.Mobile.cshtml. Как представляется, не добавляются автоматически.

2 голосов
/ 01 февраля 2012

Я столкнулся с той же проблемой, нашел решение здесь http://51degrees.mobi/Support/Blogs/tabid/212/EntryId/26/51Degrees-mobi-and-MVC4.aspx

Приветствия,

1 голос
/ 24 марта 2013

У меня та же проблема, в моем случае я перешел с MVC3 на MVC4, но, думаю, что-то пропустил. Что интересно, это работает для браузера iPhone, но не для Android (по крайней мере, некоторые из них). Он отлично работает в чистом проекте MVC4. Так что я не уверен, что мне не хватает, я снова перейду к mvc3> 4 инструкциям по обновлению, чтобы увидеть, что я пропустил. Если я ничего не вижу, я попробую реализацию с 51устройствами или сделаю чистый проект MVC4.

ОБНОВЛЕНИЕ: следуя инструкциям по обновлению еще раз, я не вижу ничего, что я пропустил. Таким образом, я реализовал 51devices способом, в соответствии с этими инструкциями: http://51degrees.mobi/Support/Blogs/tabid/212/EntryId/26/51Degrees-mobi-and-MVC4.aspx Устройства Android, кажется, теперь хорошо запускают отображение на мобильных устройствах. Единственное обновление для использования:

`DisplayModeProvider.Instance.Modes.Insert` 

вместо

 `DisplayModes.Modes.Insert`
1 голос
/ 01 февраля 2012

Сначала ... убедитесь, что у вас есть проект MVC4 - либо удалите его из шаблона, либо правильно следуйте инструкциям Microsoft по обновлению.

Как и в других версиях MVC, структура проекта работает по соглашению и обычнопредставления должны быть в определенных папках - например, представления для вашего FoodController должны находиться в Views -> Food, а шаблоны - в папке Views -> Shared.

Предполагается, что _Layout.Mobile.cshtml находится в общем каталоге.Папка Views, она может быть чувствительной к регистру - _Layout.mobile.cshtml, хотя я сомневаюсь в этом.

Использовали ли вы Fiddler для проверки отправленного запроса (заголовки и UA) и ответа, возвращающегося?

0 голосов
/ 02 июня 2015

Если у вас есть области в вашем приложении MVC, вам нужно изменить _ViewStart.cshtml внутри каждой области.

0 голосов
/ 05 марта 2012

Убедитесь, что ваш мобильный браузер отправляет правильные строки агента пользователя, особенно если вы используете эмулятор мобильного браузера. Мне повезло с новым пользовательским агентом Chrome, переопределенным в настройках консоли, и некоторыми плагинами для Firefox.

...