我得到错误:在以下路径找不到布局页面“_Layout”:“〜/ Views / Home / _Layout”.
但布局页面是这样的路径:“〜/ Views / Shared / _Layout”
有什么问题吗?
我刚开始这个项目,看起来像这样:
控制器:
namespace Testing.Controllers { public class HomeController : Controller { // // GET: /Home/ public ActionResult Index() { return View(); } } }
索引视图:
@model dynamic @{ ViewBag.Title = "title"; Layout = "_Layout"; } <h2>title</h2>
_ViewStart.cshtml:
@{ Layout = "~/Views/Shared/_Layout.cshtml"; }
解决方案资源管理器
解决方法
确保在〜/ Views / _ViewStart.cshtml文件中设置了正确的路径:
@{ Layout = "~/Views/Shared/_Layout.cshtml"; }
另外,如果在您的意见中,您覆盖布局,确保正确的路径是特定的布局.另外还有一些可以设置布局的服务器端代码(例如自定义操作过滤器,或允许指定布局的ViewResult重载…).
更新:
你似乎已经设置了这样的布局:
@{ ViewBag.Title = "title"; Layout = "_Layout"; }
您需要将布局的位置指定为绝对路径:
@{ ViewBag.Title = "title"; Layout = "~/Views/Shared/_Layout.cshtml"; }
但是,更好的方法是在“索引”视图中摆脱此布局设置:
@{ ViewBag.Title = "title"; }
现在,您将使用_ViewStart.cshtml中的值.