Asp.net mvc 2 将操作重定向到移动视图

Asp.net mvc 2 将操作重定向到移动视图,asp.net-mvc-2,mobile-website,Asp.net Mvc 2,Mobile Website,这是我在HomeController中为当前站点提供的内容。如何检测该操作是否从移动设备调用,如果是,则重新定向到MobileHome.aspx而不是Home.aspx 我不需要知道设备的详细信息,因为我正在JQuery Mobile中实现视图,它应该根据呈现在其中的视图进行正确调整。以下是对控制器类的覆盖。我还没有测试过,所以请考虑伪代码: public ActionResult Home() { return View(); } 您可

这是我在HomeController中为当前站点提供的内容。如何检测该操作是否从移动设备调用,如果是,则重新定向到MobileHome.aspx而不是Home.aspx


我不需要知道设备的详细信息,因为我正在JQuery Mobile中实现视图,它应该根据呈现在其中的视图进行正确调整。

以下是对控制器类的覆盖。我还没有测试过,所以请考虑伪代码:

public ActionResult Home()
        {
            return View();
        }
您可以使用Request.Browser.IsMobileDevice确定设备是否为移动设备,然后检查结果是否为视图。但是,如果将实际视图传递给操作的结果,则仅更改视图名称是不够的。

您可能会发现该名称很有用

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);
}