添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
相关文章推荐
失恋的稀饭  ·  四川省文化和旅游厅·  2 周前    · 
大力的眼镜  ·  同人志_百度百科·  1 年前    · 
强悍的海龟  ·  冯秀丽(教授)·  2 年前    · 
稳重的树叶  ·  合作中心-凯发官网地址·  2 年前    · 

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

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

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

Layout = "~/Views/Shared/_Layout.cshtml";

好吧,瞬间明白了!

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

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

Layout = null;

多出了上面红色划线的部分

该部分的内容来自 _viewStart.cshtml
在这里插入图片描述

把该文件名称修改为 _ViewStart1.cshtml
显示结果:
在这里插入图片描述
原因:
如上面的分析:
(自动加载?)
了解到这个_viewstart.cshtml是在呈现view时运行的,可以理解为,在加载view之前先运行这个,这个里面设置了layout,所以我的页面中就引用了布局。

个人感觉奇怪的地方:
页面中引用了 _TestLayout.cshtml
但并没有引用 _ViewStart.cshtml

按照前面作者的介绍 ,在ViewStart 中引用了 Layout.cshtml
页面在加载 Views之前 会自动 加载 ViewStart 所以会出现这个结果。

把viewStart 改为 ViewStart1 后,页面的自动加载则不能生效。
在这里插入图片描述

https://www.cnblogs.com/dansediao/p/5882024.html MVC中的_viewstart.cshtml(没有设置Layout却引用了布局) 今天Home视图中新增了一个视图,因为不需要设置Layout就没与管他,但是运行起来一看,自动引用了布局,分析了半天 也没看出是哪的错误?后来尝试着在a
1、新建MasterFilterAttribute类继承ActionFilterAttribute,重写方法OnActionExecuted ,指定ViewResult的MasterName = "Master"; using System; using System.Collections.Generic; using System.Linq; using System...
新建 MVC 的项目时会自动创建_ ViewS tar t. csh tml 、_ Layout . csh tml 页面,这样我们就把公共的部分放到_ Layout 页面 ,每次新建页面时都会自动加载_ ViewS tar t。 _ ViewS tar t. csh tml 页面代码: Layout = "~/ Views /Shared/_ Layout . csh tml "; 有时候我们自定义错误页面,可能不是h tml 静态
MVC _ ViewS tar t. csh tml 布局 文件 _ ViewS tar t. csh tml 文件的作用:一般是用于存放 MVC 网站 所有视图公用的js,css等文件。这样就不需要在每个视图 都拖一个js,css等文件进来了 * MVC 执行任何一个视图之前都要先执行 Views 文件夹下的 _ ViewS tar t. csh tml 视图的内容 * 注意点:想要上面的描述成立,则在action方法 必须以ret...
本文导读:在 MVC 3及更高版本 ,使用Razor模板引擎的话,会自动生成一个_ ViewS tar t. csh tml 文件。事实上,_ Views tar t. csh tml 的作用是在呈现View文件的时候的启动文件,无论哪个视图,当你要呈现这个视图之前,_ Views tar t. csh tml 的代码总会被先执行。 在ASP.NET MVC 3.0
ViewS tar t. csh tml 视图页面 MVC 执行任何一个视图之前都要先执行 Views 文件夹下的 _ ViewS tar t. csh tml 视图的内容 注意点:想要上面的描述成立,则在action方法 必须以return View()来返回视图。 如果是以PowerView() 方法来返回视图的话,则不会执行_ ViewS tar t. csh tml 的内容 public cla
ViewS tar t 在前面的例子 ,每一个视图都是使用 Layout 属性来指定它的 布局 。如果多个视图使用同一个 布局 ,就会产生冗余,并且很难维护。 _ ViewS tar t. csh tml 页面可用来消除这种冗余。这个文件 的代码先于同目录下任何视图代码的执行。这个文件也可以递归地应用到子目录下的任何视图。 当创建一个默认的ASP.NET MVC 项目时,您将会注意到在 Views 目录下会自动添加一个_V...
如果直接将_ ViewS tar t. csh tml 文件加入到areas下,运行areas页面将会报错: 无法将类型为“ASP._Page_Areas_Admin__ ViewS tar t_ csh tml ”的对象强制转换为类型“System.Web.WebPages.S tar tPage”。 解决方法:将 Views 下的web.config拷贝一份到areas下,重新编译即可
MVC 3 ,使用Razor模板引擎的话,会自动生成一个_ ViewS tar t. csh tml 文件。 很多人把这个文件当成类似Webform 的Master模板文件,其实这个_ ViewS tar t. csh tml 文件和模板文件 没有 任何关系,要说有关系,也仅仅是默认生成的时候,里面有一个语句 Layout = "~/ Views /Shared/_ Layout . csh tml "; 其实这句话才是和模板有点关系...
MVC 项目 会自动生成_ ViewS tar t. csh tml 文件,作用是,任何 csh tml 文件打开都会调用他(Partical csh tml 除外),所以可以在这里写一些公用的代码,或者调用模板,减少重复的代码,例如 导入网页开头部分,引入js和css部分。  相当于母版页,但是功能更高级,可以写cs代码。
作为一个刚刚开始学习 Mvc 的新人来说,从之前的winform页面到现在 MVC 的转变,感觉这是华丽丽的转身啊,再 没有 拖拽控件,转而是一种规范的格式,用Model-View-Controller三者把一个系统的构成完美呈现,你可以选择用其自带的模版来完成系统的开发,很强大,很方便。  但是对于现在越来越需要关注度的时代来说,漂亮的页面必不可少,你当然可以自己用h tml 来完成页面的设计,但是, MVC