Перенаправить действие на мобильный вид - PullRequest
0 голосов
/ 12 апреля 2011
public ActionResult Home()
        {
            return View();
        }

Это то, что у меня есть для моего текущего сайта в HomeController. Как я могу определить, вызывается ли действие с мобильного устройства, и если это так, перенаправить его на MobileHome.aspx вместо Home.aspx.

Мне не нужно знать детали устройства, потому что я реализую представление в JQuery Mobile, которое должно корректироваться в зависимости от представления, в котором оно отображается.

Ответы [ 2 ]

0 голосов
/ 12 апреля 2011

Вы можете найти следующую запись в блоге полезной.

0 голосов
/ 12 апреля 2011

Ниже приведено переопределение класса Controller.Я не проверял это, поэтому считаю его псевдокодом:

protected override void OnActionExecuted(ActionExecutedContext filterContext)
{
    if (this.Request.Browser.IsMobileDevice && filterContext.Result is ViewResultBase)
    {
        var viewResult = filterContext.Result as ViewResultBase;

        viewResult.ViewName = "Mobile" + viewResult.ViewName;
    }

    base.OnActionExecuted(filterContext);
}

. Вы можете использовать Request.Browser.IsMobileDevice, чтобы определить, является ли устройство мобильным (очевидно), а затем проверить, если результат еговид.Однако изменение имени представления недостаточно, если вы передаете фактическое представление результату своего действия.

...