ASP.NET MVC中两个配置文件的作用详解

前言

在新建完一个MVC项目之后,你会发现整个整个项目结构中存在有两个web.config文件,如下图所示:

ASP.NET MVC中两个配置文件的作用详解_第1张图片

这两个配置文件,一个位于项目的根目录下面,一个位于Views文件夹下面,这两个配置文件有什么不同呢?

一、根目录下面的配置文件

跟目录下面的web.config配置文件代码如下:




  
    
    
    
    
  
  
    
    
  
  
    
      
        
        
      
      
        
        
            
      
        
        
      
      
        
        
      
      
        
        
      
      
        
        
      
      
        
        
      
      
        
        
      
    
  
  
    
      
      
    
  
  
    
      
      
    
  

这个配置文件主要是用来配置数据库连接字符串、日志输出路径等信息的,比如配置数据库连接字符串

ASP.NET MVC中两个配置文件的作用详解_第2张图片

二、Views文件夹下面的配置文件

Views文件夹下面的配置文件主要是用来引入一些cshtml页面中的命名空间

ASP.NET MVC中两个配置文件的作用详解_第3张图片

在上一篇文章中,我们如果要再cshtml视图页面中使用Student实体类,需要首先在页面中引入Student的命名空间:

ASP.NET MVC中两个配置文件的作用详解_第4张图片

如果cshtml页面都需要使用到Student类,那么每个页面都需要先引入Student类的命名空间才可以使用,这样会有很多重复的工作,可以把Student类的命名空间添加到Views文件夹下的配置文件中,这样就不需要每个页面都引入Student类的命名空间了

ASP.NET MVC中两个配置文件的作用详解_第5张图片

然后把ViewDataDemo对应的Index视图修改如下:

@*引入Student的命名空间*@
@*@using MVCStudyDemo.Models; 去掉引入Student命名空间,在web.config文件里面引入 *@ 
@{
    ViewBag.Title = "Index";
    // 这里使用的是Razor语法,写的是后台C#代码
    // ViewData的Value值是Object类型的,需要进行类型转换
    // 常规写法是先在这里进行类型转换
    var list = ViewData["Data"] as List;
}

通过ViewData向View传递数据

1、传递字符串 other:@ViewData["Other"];
2、传递字符串 name:@ViewData["name"];
3、传递字符串 age:@ViewData["age"];
4、传递集合方式一 @foreach (var item in list) {
ID:@item.ID  Name:@item.Name  Age:@item.Age  Sex:@item.Sex  Email:@item.Email
}
5、传递集合方式二 @foreach (var item in ViewData["Data"] as List) {
ID:@item.ID  Name:@item.Name  Age:@item.Age  Sex:@item.Sex  Email:@item.Email
}

注意:在Index视图里面去掉命名空间以后,Student实体类会标红,不影响程序。

ASP.NET MVC中两个配置文件的作用详解_第6张图片

重新生成程序,然后运行:

ASP.NET MVC中两个配置文件的作用详解_第7张图片

到此这篇关于ASP.NET MVC中两个配置文件的文章就介绍到这了。希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

你可能感兴趣的:(ASP.NET MVC中两个配置文件的作用详解)