您的位置:首页 > Web前端 > HTML

MVC中的_viewstart.cshtml(没有设置Layout却引用了布局)

2016-09-18 16:20 239 查看
今天Home视图中新增了一个视图,因为不需要设置Layout就没与管他,但是运行起来一看,自动引用了布局,分析了半天 也没看出是哪的错误?

后来尝试着在area中增加了一个同样的视图就没有问题,比较这两个文件夹后发现,Home所在的views文件夹下多了一个_viewstart.cshtml,

打开一看,里面就只有一句代码,如下:

@{
Layout = "~/Views/Shared/_Layout.cshtml";
}


好吧,瞬间明白了!

从网上查了查,了解到这个_viewstart.cshtml是在呈现view时运行的,可以理解为,在加载view之前先运行这个,这个里面设置了layout,所以我的页面中就引用了布局。

问题找到了,解决办法也很简单,在我新增的页面中设置layout=null,如下

@{
Layout = null;
}


PS:参考文章

ASP.NET MVC 3.0+ 中“_ViewStart.cshtml”文件的作用

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: