2011-04-12 23 views
0
public ActionResult Home() 
     { 
      return View(); 
     } 

這就是我在HomeController中對當前網站所做的一切。如何檢測是否從移動設備調用操作,如果是,則重定向到MobileHome.aspx而不是Home.aspx。將動作重定向到手機視圖

我不需要知道設備的細節,因爲我實現在jQuery Mobile的觀點,這應該正確地調整自身取決於它在渲染視圖。

回答

0

下面是一個覆蓋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以確定該設備是移動(明顯),然後檢查是否結果是一個視圖。但是,如果將實際視圖傳遞給操作的結果,則更改視圖名稱是不夠的。

相關問題