您好,登錄后才能下訂單哦!
小編給大家分享一下ASP.NET MVC中兩個配置文件的作用是什么,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!
在新建完一個MVC項(xiàng)目之后,你會發(fā)現(xiàn)整個整個項(xiàng)目結(jié)構(gòu)中存在有兩個web.config文件,如下圖所示:
這兩個配置文件,一個位于項(xiàng)目的根目錄下面,一個位于Views文件夾下面,這兩個配置文件有什么不同呢?
跟目錄下面的web.config配置文件代碼如下:
<?xml version="1.0" encoding="utf-8"?> <!-- 有關(guān)如何配置 ASP.NET 應(yīng)用程序的詳細(xì)信息,請?jiān)L問 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=\"Web\" /optionInfer+"/> </compilers> </system.codedom> </configuration>
這個配置文件主要是用來配置數(shù)據(jù)庫連接字符串、日志輸出路徑等信息的,比如配置數(shù)據(jù)庫連接字符串
Views文件夾下面的配置文件主要是用來引入一些cshtml頁面中的命名空間
在上一篇文章中,我們?nèi)绻賑shtml視圖頁面中使用Student實(shí)體類,需要首先在頁面中引入Student的命名空間:
如果cshtml頁面都需要使用到Student類,那么每個頁面都需要先引入Student類的命名空間才可以使用,這樣會有很多重復(fù)的工作,可以把Student類的命名空間添加到Views文件夾下的配置文件中,這樣就不需要每個頁面都引入Student類的命名空間了
然后把ViewDataDemo對應(yīng)的Index視圖修改如下:
@*引入Student的命名空間*@ @*@using MVCStudyDemo.Models; 去掉引入Student命名空間,在web.config文件里面引入 *@ @{ ViewBag.Title = "Index"; // 這里使用的是Razor語法,寫的是后臺C#代碼 // ViewData的Value值是Object類型的,需要進(jìn)行類型轉(zhuǎn)換 // 常規(guī)寫法是先在這里進(jìn)行類型轉(zhuǎn)換 var list = ViewData["Data"] as List<Student>; } <h3>通過ViewData向View傳遞數(shù)據(jù)</h3> <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 Name:@item.Name Age:@item.Age Sex:@item.Sex Email:@item.Email </div> } </div> <div> 5、傳遞集合方式二 @foreach (var item in ViewData["Data"] as List<Student>) { <div> ID:@item.ID Name:@item.Name Age:@item.Age Sex:@item.Sex Email:@item.Email </div> } </div> </div> </div>
注意:在Index視圖里面去掉命名空間以后,Student實(shí)體類會標(biāo)紅,不影響程序。
重新生成程序,然后運(yùn)行:
看完了這篇文章,相信你對“ASP.NET MVC中兩個配置文件的作用是什么”有了一定的了解,如果想了解更多相關(guān)知識,歡迎關(guān)注億速云行業(yè)資訊頻道,感謝各位的閱讀!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。