当前位置: 代码网 > it编程>编程语言>Asp.net > ASP.NET MVC中_ViewStart.cshtml作用介绍

ASP.NET MVC中_ViewStart.cshtml作用介绍

2024年05月18日 Asp.net 我要评论
一、引言_viewstart.cshtml是在asp.net mvc 3.0及更高版本以后出现的,用razor模板引擎新建项目后,views目录下面会出现一个这样的文件:打开_viewstart.cs

一、引言

_viewstart.cshtml是在asp.net mvc 3.0及更高版本以后出现的,用razor模板引擎新建项目后,views目录下面会出现一个这样的文件:

打开_viewstart.cshtml文件,里面只有一行代码:

这行代码表示使用views文件夹下的shared下面的_layout.cshtml进行布局

二、作用

  • _viewstart.cshtml是一个在呈现view文件的时候的启动文件,会在所有view(.cshtml)被执行之前执行,主要用于一些不方便或不能再母版(_layout.cshtml)中进行的统一操作。譬如你有很多个没有继承关系的母版或不使用母版的单页。
  • 在_viewstart.cshtml中,我们可以定义一些参数或做一些判断,定义过程、语法和普通的页面没有任何差别。
  • 在view被呈现的时候才会调用_viewstart.cshtml,如果一个view是按照partialview的方式输出的,则不会触发_viewstart.cshtml中的代码。
  • 如果在views的某个目录下(例如home目录)也有一个同名的_viewstart.cshtml文件,那么这个_viewstart.cshtml也会被调用,但是最先被调用的还是最外面的_viewstart.cshtml,然后才是home目录下的_viewstart.cshtml文件。

三、启动顺序

在controller的action方法上面添加断点调试,会发现_viewstart.cshtml、layout.cshtml、index.cshtml三个视图页的执行顺序如下:

  • _viewstart.cshtml
  • index.cshtml
  • layout.cshtml

四、测试

在新建一个视图的时候,会让你选择是否使用布局页,如果选择了布局页,那么就默认会使用_viewstart.cshtml里面指定的布局视图:

这样设置就表示使用_viewstart.cshtml里面指定的layout布局页。

修改一下新创建的视图页代码

@{
    viewbag.title = "testview";
}

<h2>这是测试视图页</h2>

然后浏览新创建的视图页

可以看到:除了我们刚才在视图页代码里面添加的一行文字意外,还有其它布局,这就是因为使用了布局页。

这时如果不想在使用布局页,那么就需要修改layout了,修改代码如下:

@{
    viewbag.title = "testview";
    // 指定layout为null则表示不在使用布局页
    layout = null;
}

<h2>这是测试视图页</h2>

在浏览页面

这时就不会使用布局页了。

如果新建视图的时候,不勾选使用布局页,则也不会使用

生成的视图页代码

@{
    // 这里自动设置layout为null
    layout = null;
}

<!doctype html>

<html>
<head>
    <meta name="viewport" content="width=device-width" />
    <title>testviewwithnull</title>
</head>
<body>
    <div> 
        不使用布局页
    </div>
</body>
</html>

然后浏览新添加的视图

到此这篇关于asp.net mvc中_viewstart.cshtml作用的文章就介绍到这了。希望对大家的学习有所帮助,也希望大家多多支持代码网。

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com