1

我正在使用新的 MVC4 移动功能,如果您将 .Mobile 添加到视图名称,它会在移动设备上查看它时呈现出移动功能。就这样_Home.cshtml变成了_Home.Mobile.cshtml。这在我手动调用视图时起作用: @Html.Partial("_HeaderNavigation",Model)如果合适,它会加载移动版本。

但是,当我使用renderBody()它时,它会加载_Home.cshtml而不是_Home.Mobile.cshtml. 我正在使用区域,所以home.cshtml在一个区域中。

EDIT

进一步看,是不是因为_Home.Mobile.cshtml在一个叫做 Home 的区域?这难道不知道要获得 .mobile 版本吗?

4

3 回答 3

1

如果 Home 是一个视图,那么在它下面有一个下划线会很奇怪。下划线历来用于不会自行显示的项目,因此不希望被发现。

你能在你的主页下用一个叫做索引的视图测试你的设置,看看它是否有效。

于 2012-11-12T13:54:06.807 回答
0

我发现问题在于,在主区域的控制器中,我正在返回完整路径,例如,return PartialView(MVC.Home.Home.Views._Home, this.Page);而不是return PartialView("_Home", this.Page);,正如Dove我在另一个问题中告诉我的那样。

于 2012-11-12T15:38:59.447 回答
0

我认为这可能与MVC 4 移动后台缓存的这个众所周知的公开问题有关 - 您可以尝试应用此补丁: FixedDisplayModes

于 2012-11-25T17:06:26.040 回答