2013-04-08 40 views
0

以下頁面是我網站的默認頁面:Dashboard.cshtml,Dashboard.Mobile.cshtml。 用戶可以使用NuGet中的ViewSwitcher從標準切換到移動頁面。ASP.NET MVC Mobile View有不同的視圖模型

但是,我的移動頁面與標準頁面有不同的視圖模型。

就目前而言,我很快就修補它通過把兩種視圖模式在同一類和操作方法如下:

public ActionResult Dashboard() 
{ 
    return this.HttpContext.GetOverriddenBrowser().IsMobileDevice 
     ? this.GetMobileDashboardViewModel() 
     : this.GetDesktopDashboardViewModel(); 
} 

我覺得我的同行在代碼審查這將讓我打死。有沒有更適當的方式來處理這種情況下,移動和標準頁面有不同的視圖模型?

乾杯,

埃裏克

回答

0

如果它們不是他們不應該具有相同的控制器的方法相同的邏輯。它是如此簡單。一般情況下,您最終會丟棄一些數據,這沒關係。所以,如果你可以使用桌面視圖模型來做到這一點。

對於類似於儀表板的東西,您可能想要使用部分視圖,這樣您只需拉動您需要的部分並且可以具有一定的靈活性。