我正在使用新的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版本?
答案 0 :(得分:1)
如果Home是一个视图,那么在它下面加一个下划线会很奇怪。下划线历来用于不会自己显示的项目,因此不希望被发现。
您可以使用名为Index的视图在您的区域主页下测试您的设置,看看是否有效。
答案 1 :(得分:0)
我发现问题是在家庭区域的控制器中我返回完整路径,例如return PartialView(MVC.Home.Home.Views._Home, this.Page);
代替return PartialView("_Home", this.Page);
,Dove
告诉我在another question做的事情。
答案 2 :(得分:0)
我认为这可能与MVC 4移动版well know open issue幕后缓存有关 - 您可以尝试应用此补丁:FixedDisplayModes