0

以下页面是我网站的默认页面:Dashboard.cshtml、Dashboard.Mobile.cshtml。用户可以使用 NuGet 中的 ViewSwitcher 从标准页面切换到移动页面。

但是,我的移动页面的视图模型与标准页面不同。

目前,我通过将两个视图模型放在同一个类中快速修补它,并且操作方法如下所示:

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

我觉得这会让我在代码审查中被同行杀死。在移动页面和标准页面具有不同视图模型的情况下,是否有更合适的方法来处理这种情况?

干杯,

埃里克

4

1 回答 1

0

如果它们不是相同的逻辑,则它们不应该具有相同的控制器方法。它是如此简单。通常,使用移动设备您最终会丢弃一些数据,这没关系。因此,如果您只能使用桌面视图模型,请这样做。

对于仪表板之类的东西,您可能无论如何都想使用部分视图,这样您只需要提取您需要的内容并且可以具有一些灵活性。

于 2013-04-08T13:26:57.317 回答