Как вы переключаете _layout.cshtml на основе экрана против портативного? (.NET MVC3) - PullRequest
4 голосов
/ 10 марта 2011

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

<link rel="stylesheet" type="text/css" media="handheld" href="foo_mobile.css">
<link rel="stylesheet" type="text/css" media="screen" href="foo_screen.css">

Однако я действительно хочу поменять _layout.cshtml в зависимости от типа браузера (экран против портативного устройства - плюс iPhone).

Я видел множество сайтов, которые перенаправляют мобильные устройства на субдомен, например m.xyzCorp.com , но хотел бы избежать этого, если это возможно.

Есть ли примеры кода или учебные пособия? мой гугл-фу сегодня слаб.

ТИА

1 Ответ

7 голосов
/ 10 марта 2011

В _ViewStart.cshtml есть что-то вроде этого

@{
    if (!Request.Browser.IsMobileDevice)
    {
        Layout = "~/Views/Shared/_Layout.cshtml";
    }
    else
    {
        Layout = "~/Views/Shared/_MobileSiteLayout.cshtml";
    }
}
...