【问题标题】:The function renderBody() not using the .Mobile.cshtml view函数 renderBody() 不使用 .Mobile.cshtml 视图
【发布时间】:2012-11-12 11:28:48
【问题描述】:

我正在使用新的 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版本吗?

【问题讨论】:

    标签: asp.net asp.net-mvc visual-studio-2010 razor asp.net-mvc-4


    【解决方案1】:

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

    你能不能在你的主页下使用一个名为 Index 的视图来测试你的设置,看看它是否有效。

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        【解决方案3】:

        我认为这可能与 MVC 4 移动后台缓存的 well know open issue 有关 - 您可以尝试应用此补丁:FixedDisplayModes

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2017-01-16
          • 2019-09-22
          • 1970-01-01
          • 2018-01-27
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2020-12-17
          相关资源
          最近更新 更多