asp.net mvc框架之Layout布局与cshtml页面导入命名空间

在cshtml页面中,如果想使用C#的一些类或者方法的时候,需要在cshtml页面的顶部导入这个类或者方法的命名空间。

 但是如果界面过多的话,每次都这样导入命名空间的话,还是很麻烦的。

更简便的方法:

打开Views文件夹下的web.config文件,寻找system.web.webPages.razor节点,在该节点下将该命名空间添加上,就可以不用重复的添加命名空间了。

如果在添加上这个命名空间之后,在cshtml中还是会报错,只需要将该界面关闭重新打开就可以了。

 

=======================================================================================

Layout的布局

在asp.net中有母版页,对应的asp.net mvc中也有母版页,使用的是Layout页面来充当母版页。

1.创建Layout页面,一般都将Layout页面存放在Views文件夹下,如果放在别的目录下也是可以的。

2.cshtml页面使用Layout页面

其中上面的@RenderBody()就是截面里面的"你好呀,小姐姐"占位符

其他占位符

 

在母版页中定义:@RenderSection("定义的名字")

在cshtml页面中使用占位符:

@section 定义的名字

{

  这里面写占位符里的内容

}

 

但是如果在Layout页面中创建了自定义占位符,但是没有在cshtml页面中实现,会出现如下错误:

在@RenderSection("自定义名字",false) 表示如果在cshtml页面中没有实现自定义占位符的话,也不会报错。默认是true

 

还可以在Layout页面中这样定义:

 @if(IsSectionDefined("left"))
    {
        @RenderSection("left")
    }
    else
    {
        <text>左边默认内容</text>
    }

 

posted @ 2019-06-12 14:27  black娃  阅读(2073)  评论(0编辑  收藏  举报