已定义以下部分但尚未为布局页面"〜/ Views/Shared/_Layout.cshtml"呈现

Joh*_*uth 7 asp.net-mvc mobile razor asp.net-mvc-4

我知道有几个问题已经得到解答,但我没有找到具体的问题.

我正在使用MVC4的移动功能.所以我创建了一个_layout.mobile.cshtml和相应的视图.

当我使用移动设备时,会发生上述错误.如您所见,它正在尝试显示常规_layout.cshtml而不是_layout.mobile.cshtml.所以我假设它也试图显示没有相关部分的视图(比如Index.mobile.cshtm).基本上它是将常规布局与移动视图混合在一起.

这不会一直发生.如果我回收池,它会再次工作一段时间,然后突然之间它会再次出现错误,它将一直持续到我再次回收池.

有没有人在此之前看到这个问题可以解决一些问题?

谢谢约翰

ame*_*esh 3

在Views 文件夹下的_ViewStart.cshtml中,将布局值更改为您的自定义布局。我认为这可能会有所帮助..(确保您返回的是视图而不是部分视图)

例如

@{
Layout = "~/Views/Shared/_layout.mobile.cshtml";
}
Run Code Online (Sandbox Code Playgroud)

如果您想更改特定页面的布局,您可以在页面顶部将其显式定义为页面指令。