以下页面是我网站的默认页面:Dashboard.cshtml,Dashboard.Mobile.cshtml。 用户可以使用NuGet的ViewSwitcher从标准页面切换到移动页面。
但是,我的移动页面的视图模型与标准页面不同。
目前,我通过将两个视图模型放在同一个类中来快速修补它,并且action方法如下所示:
public ActionResult Dashboard()
{
return this.HttpContext.GetOverriddenBrowser().IsMobileDevice
? this.GetMobileDashboardViewModel()
: this.GetDesktopDashboardViewModel();
}
我觉得这会让我在代码审查中被同行杀死。是否有更合适的方法来处理移动和标准页面具有不同视图模型的场景?
干杯,
埃里克
答案 0 :(得分:0)
如果它们不是相同的逻辑,则它们不应该具有相同的控制器方法。它是如此简单。一般情况下,移动设备最终会丢弃一些数据,这没关系。因此,如果您可以使用桌面视图模型,请执行此操作。
对于像仪表板这样的东西,你可能想要使用部分视图,这样你只需要提取你需要的东西,并且可以有一些灵活性。