Как определить мобильный браузер в приложении .NET MVC3

Я разрабатываю приложение .NET MVC3.

Есть ли хороший способ определить, использует ли пользователь мобильный браузер в представлении (используя RAZOR). Я хочу различать логику отображения, если это мобильный браузер.

Спасибо!

Ответ 1

MVC3 предоставляет флаг IsMobileDevice в объекте Request.Browser.

Таким образом, в вашем коде бритвы вы можете запросить эту переменную и сделать соответственно.

Например, на ваш взгляд (бритва):

@if (Request.Browser.IsMobileDevice) {
  <!-- HTML here for mobile device -->
} else {
  <!-- HTML for desktop device -->
}

Ответ 2

Встроенные возможности обнаружения браузера больше не обновляются. Взгляните на блог Скотта Ханзельмана - подробнее см. Раздел "Подробнее" внизу.

Я предлагаю взглянуть на 51Degrees.mobi для более точного обнаружения. Также см. Блог Steve Sanderson, который упоминает Hanselman о том, как реализовать это в MVC3.

Ответ 3

Я использую этот метод (отлично работает для меня)

if (eDurar.MobileDetect.DeviceType.Any(m => Request.UserAgent.Contains(m)))
{
    Layout = "~/Views/Shared/_mobileLayout.cshtml";
    @Html.Partial("mobileIndex");

}
else
{
    Layout = "~/Views/Shared/_Layout.cshtml";
    @Html.Partial("desktopIndex");
}

Я предлагаю вам использовать отзывчивую загрузочную загрузку, лучше избегая специальной страницы для мобильных устройств