ASP.NET MVC教程六:两个配置文件详解

前言

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

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

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

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

<?xml version="1.0" encoding="utf-8"?>
<!--有关如何配置 ASP.NET 应用程序的详细信息,请访问https://go.microsoft.com/fwlink/?LinkId=301880-->
<configuration><appSettings><add key="webpages:Version" value="3.0.0.0"/><add key="webpages:Enabled" value="false"/><add key="ClientValidationEnabled" value="true"/><add key="UnobtrusiveJavaScriptEnabled" value="true"/></appSettings><system.web><compilation debug="true" targetFramework="4.6.1"/><httpRuntime targetFramework="4.6.1"/></system.web><runtime><assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"><dependentAssembly><assemblyIdentity name="Antlr3.Runtime" publicKeyToken="eb42632606e9261f"/><bindingRedirect oldVersion="0.0.0.0-3.5.0.2" newVersion="3.5.0.2"/></dependentAssembly><dependentAssembly><assemblyIdentity name="System.Diagnostics.DiagnosticSource" publicKeyToken="cc7b13ffcd2ddd51"/><bindingRedirect oldVersion="0.0.0.0-4.0.2.1" newVersion="4.0.2.1"/></dependentAssembly>      <dependentAssembly><assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed"/><bindingRedirect oldVersion="0.0.0.0-11.0.0.0" newVersion="11.0.0.0"/></dependentAssembly><dependentAssembly><assemblyIdentity name="System.Web.Optimization" publicKeyToken="31bf3856ad364e35"/><bindingRedirect oldVersion="1.0.0.0-1.1.0.0" newVersion="1.1.0.0"/></dependentAssembly><dependentAssembly><assemblyIdentity name="WebGrease" publicKeyToken="31bf3856ad364e35"/><bindingRedirect oldVersion="1.0.0.0-1.6.5135.21930" newVersion="1.6.5135.21930"/></dependentAssembly><dependentAssembly><assemblyIdentity name="System.Web.Helpers" publicKeyToken="31bf3856ad364e35"/><bindingRedirect oldVersion="1.0.0.0-3.0.0.0" newVersion="3.0.0.0"/></dependentAssembly><dependentAssembly><assemblyIdentity name="System.Web.WebPages" publicKeyToken="31bf3856ad364e35"/><bindingRedirect oldVersion="1.0.0.0-3.0.0.0" newVersion="3.0.0.0"/></dependentAssembly><dependentAssembly><assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35"/><bindingRedirect oldVersion="1.0.0.0-5.2.4.0" newVersion="5.2.4.0"/></dependentAssembly></assemblyBinding></runtime><system.webServer><modules><remove name="TelemetryCorrelationHttpModule"/><add name="TelemetryCorrelationHttpModule"type="Microsoft.AspNet.TelemetryCorrelation.TelemetryCorrelationHttpModule, Microsoft.AspNet.TelemetryCorrelation"preCondition="integratedMode,managedHandler"/></modules></system.webServer><system.codedom><compilers><compiler language="c#;cs;csharp" extension=".cs"type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.CSharpCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"warningLevel="4" compilerOptions="/langversion:default /nowarn:1659;1699;1701"/><compiler language="vb;vbs;visualbasic;vbscript" extension=".vb"type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.VBCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"warningLevel="4" compilerOptions="/langversion:default /nowarn:41008 /define:_MYTYPE=\&quot;Web\&quot; /optionInfer+"/></compilers></system.codedom>
</configuration>

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

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

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

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

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

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

@*引入Student的命名空间*@
@*@using MVCStudyDemo.Models; 去掉引入Student命名空间,在web.config文件里面引入 *@ 
@{ViewBag.Title = "Index";// 这里使用的是Razor语法,写的是后台C#代码// ViewData的Value值是Object类型的,需要进行类型转换// 常规写法是先在这里进行类型转换var list = ViewData["Data"] as List<Student>;
}<h2>通过ViewData向View传递数据</h2>
<div class="jumbotron"><div><div>1、传递字符串 other:@ViewData["Other"];</div><div>2、传递字符串 name:@ViewData["name"];</div><div>3、传递字符串 age:@ViewData["age"];</div><div>4、传递集合方式一@foreach (var item in list){<div>ID:@item.ID&nbsp;&nbsp;Name:@item.Name&nbsp;&nbsp;Age:@item.Age&nbsp;&nbsp;Sex:@item.Sex&nbsp;&nbsp;Email:@item.Email</div>}</div><div>5、传递集合方式二@foreach (var item in ViewData["Data"] as List<Student>){<div>ID:@item.ID&nbsp;&nbsp;Name:@item.Name&nbsp;&nbsp;Age:@item.Age&nbsp;&nbsp;Sex:@item.Sex&nbsp;&nbsp;Email:@item.Email</div>}</div></div>
</div>

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

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

 

转载于:https://www.cnblogs.com/dotnet261010/p/11417746.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/482442.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Nat. Commun. 速递:虚拟颅内脑电与神经动力学模型

来源&#xff1a;集智俱乐部作者&#xff1a;曹淼 编辑&#xff1a;邓一雪 导语时间-空间尺度动态演变的动力学系统建模&#xff0c;为研究大脑状态和状态转移的神经机制提供了理论基础。最近墨尔本大学曹淼等人的联合团队在Nature Communications发表论文&#xff0c;提出了虚…

ASP.NET MVC教程五:ASP.NET MVC中的路由

一、概述 在ASP.NET MVC架构中&#xff0c;控制器在3大核心构件中处于中心地位&#xff0c;通过控制器支配模型和视图&#xff0c;然而从浏览器发出的请求到控制器还需要路由的协助&#xff0c;路由将特定的请求和控制器的动作对应起来。 在ASP.NET MVC程序中&#xff0c;路由主…

一文梳理深度学习算法演进

来源&#xff1a;https://zhuanlan.zhihu.com/p/464515049作者&#xff1a;Peter潘欣编辑&#xff1a;蘑菇先生学习记涉及语音、图像、nlp、强化学习、隐私保护、艺术创作、目标检测、医疗、压缩序列、推荐排序等方向。文章较长&#xff0c;耐心读完会有收获。1. 前言如果说高德…

ASP.NET MVC教程八:_ViewStart.cshtml

一、引言 _ViewStart.cshtml是在ASP.NET MVC 3.0及更高版本以后出现的&#xff0c;用Razor模板引擎新建项目后&#xff0c;Views目录下面会出现一个这样的文件&#xff1a; 打开_ViewStart.cshtml文件&#xff0c;里面只有一行代码&#xff1a; 这行代码表示使用Views文件夹下的…

2021年全球十大工程成就,中国有几个? | 科技袁人

来源&#xff1a; 风云之声视频链接&#xff1a;西瓜视频&#xff1a;https://www.ixigua.com/7068180516549329415本视频发布于2021年2月25日&#xff0c;观看量已达7.4万次精彩呈现&#xff1a;2021年&#xff0c;中国工程院院刊《Engineering》组织了一个“全球十大工程成就…

formSelects-v4.js 基于Layui的多选解决方案

详情链接地址&#xff1a; https://hnzzmsf.github.io/example/example_v4.html#select_search_server1、闲谈杂趣v3传送门 v3文档其实思考了很久, 还是放弃了v3, 因为开发v3的时候很粗暴, 按照编程角度来看就是硬撸, 也怪自己实力有限, 所以反思了一下, 尝试着继续前行...…

将公平注入AI:机器学习模型即使在不公平数据上训练也能产生公平输出

来源&#xff1a;ScienceAI编译&#xff1a;绿萝如果使用不平衡的数据集训练机器学习模型&#xff0c;比如一个包含远多于肤色较浅的人的图像的数据集&#xff0c;则当模型部署在现实世界中时&#xff0c;该模型的预测存在严重风险。但这只是问题的一部分。麻省理工学院的研究人…

使用ngModel创建组件

angular/forms里有个接口用来实现支持[(ngModel)]&#xff0c;具体可查ControlValueAccessor&#xff0c;这边还未深入理解只是为了开发组件而初步了解 interface ControlValueAccessor {writeValue(obj: any): voidregisterOnChange(fn: any): voidregisterOnTouched(fn: any)…

制定城市大脑建设标准应遵循的十条原则探讨

作者&#xff1a;刘锋本文发表于2022年3月《中国建设信息化杂志》2015以来&#xff0c;城市大脑被提出并成为前沿科技和智慧城市建设领域的新热点。到2022年&#xff0c;全国已经有包括北京、上海、杭州、深圳、郑州、呼和浩特、合肥等数百个城市宣布建设城市大脑的规划。有包括…

图灵测试,时至今日还有意义吗?

来源&#xff1a;学术头条我们必须承认&#xff0c;机器运行时的很多中间状态&#xff0c;是在设计初始指令时无法预见的。机器自己也会感悟出很多知识。在这种情況下&#xff0c;我们有必要将机器视为智能的。艾伦图灵图灵测试由人工智能之父—艾伦图灵提出&#xff0c;指测试…

AI科普微视频丨深度学习如何帮助自动驾驶

来源&#xff1a;中国人工智能学会人工智能是如何产生的&#xff1f;人工智能的发展为什么充满曲折&#xff1f;为什么说图灵是人工智能之父&#xff1f;为加大AI科普力度&#xff0c;推动文化传播&#xff0c;中国人工智能学会推出了“AI科普微视频”栏目&#xff0c;以每期2~…

在新的数学证明中,人工智能取胜

来源&#xff1a;ScienceAI编辑&#xff1a;绿萝一个以 AlphaGo 等人工智能系统为原型的新计算机程序解决了组合学和图论中的几个未解决问题。去年 3 月&#xff0c;爱荷华州立大学&#xff08;Iowa State University&#xff09;的数学家 Leslie Hogben 和 Carolyn Reinhart 收…

day44-前端知识之HTML内容

什么是前端?什么是后端? # 任何与用户直接打交道的操作界面都可以称之为前端,前端跟python没有任何关系 比如:电脑界面,手机界面,平板界面# 暂时先理解成 幕后操作者(不直接与用户打交道)为什么要学前端? 因为全栈开发工程师就是同时懂前端和后端 1.信心满满 老子一定能学会…

车路协同让城市更智慧

来源&#xff1a;深城物联在高速发展的现代社会&#xff0c;纷繁复杂的城市道路交织成奔腾不息的交通动脉。今年&#xff0c;全国政协委员、百度董事长兼首席执行官李彦宏在提案中关注“智能交通”“自动驾驶”。在新一代信息技术不断发展的背景下&#xff0c;汽车与城市道路的…

gin-jwt对API进行权限控制

前言 之前文章简单介绍了如何运行ginvue的前后端分离开源项目&#xff0c;该项目是学习了Gin实践教程后结合vue-element-admin写的&#xff0c;该教程讲得很详细&#xff0c;适合入门Gin。本篇文章将介绍ginvue的前后端分离开源项目中如何使用gin-jwt对API进行权限验证。 安装g…

Michael Brostein 最新几何深度学习综述:超越 WL 和原始消息传递的 GNN

来源&#xff1a;前沿科技编译&#xff1a;OGAI编辑&#xff1a;陈彩娴如何突破基于 WL 测试和消息传递机制的 GNN 的性能瓶颈&#xff1f;且看几何深度学习旗手、牛津大学教授 Michael Brostein 如是说。图可以方便地抽象关系和交互的复杂系统。社交网络、高能物理、化学等研究…

day45-前端CSS

1.0 CSS介绍 CSS&#xff08;Cascading Style Sheet&#xff0c;层叠样式表)定义如何显示HTML元素。 当浏览器读到一个样式表&#xff0c;它就会按照这个样式表来对文档进行格式化&#xff08;渲染&#xff09;。 2.0 CSS语法 2.1 CSS实例 每个CSS样式由两个组成部分&#xff1…

人工智能克服了类脑硬件的绊脚石

来源&#xff1a;ScienceAI编辑&#xff1a;萝卜皮当今最成功的人工智能算法——人工神经网络&#xff0c;松散地基于我们大脑中复杂的真实神经网络网络。但与我们高效的大脑不同&#xff0c;在计算机上运行这些算法会消耗巨大的能量&#xff1a;最大的模型在其生命周期中消耗的…

图灵奖起源

来源 &#xff1a; 图灵人工智能在计算机科学的世界里&#xff0c;也有很多带来了全球变革的超级英雄。他们都曾经辉煌一时&#xff0c;但逐渐被公众遗忘。于是我们想做一件事情&#xff0c;用直观的动漫方式&#xff0c;带大家认识计算机宇宙中的那些超级英雄。故事&#xff0…

吵翻了!AI 顶会设置媒体静默期,作者不信邪提前宣传被拒稿,加强盲审是促进公平还是阻止了学术交流?...

来源&#xff1a;AEIC学术交流中心3月2日&#xff0c;计算机视觉三大顶会之一的CVPR2022论文接收结果公布&#xff0c;在经历了漫长的社交媒体静默期后&#xff0c;社交媒体被论文作者刷屏了&#xff0c;部分作者还展示了自己的论文成果。1CVPR2022论文接收结果作为人工智能领域…