MVC3中相同操作的不同视图

时间:2012-09-19 08:08:52

标签: c# asp.net-mvc mobile-website

我正在使用ASP.NET MVC3开发移动网络。我需要根据不同尺寸设备上可用的不同屏幕分辨率将我的视图更改为最佳匹配。

让我们举个例子,

这里我有一个Action调用SalesHistory。并查看调用SalesHistory.cshtml 我决定创建4个视图(与本机应用程序开发相同),以根据不同设备上可用的不同屏幕分辨率排列内容。 所以我需要,

SalesHistory_xhdpi.cshtml
SalesHistory_hdpi.cshtml
SalesHistory_mdpi.cshtml
SalesHistory_ldpi.cshtml

现在我需要在调用方法之后以及在文件系统中查找cshtml文件之前将视图修复(_xhdpi / _hdpi / _mdpi或ldpi)添加到视图文件名称。在这里,我有决定后像素的逻辑。

如何更改视图文件名?

1 个答案:

答案 0 :(得分:2)

如果使用简单的CSS查询无法完成更改,并且您必须拥有不同的视图文件,则可以使用以下代码执行此操作:

DisplayModeProvider.Instance.Modes.Insert(0, new DefaultDisplayMode("ldpi") {//condition to detect resolution)});

请查看此网站,了解一个很好的开始,尤其是有关按移动设备提供单独视图的部分:http://www.hanselman.com/blog/CreateAGreatMobileExperienceForYourWebsiteTodayPlease.aspx