日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > asp.net >内容正文

asp.net

asp.net core轻松入门之MVC中Options读取配置文件

發布時間:2023/12/18 asp.net 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 asp.net core轻松入门之MVC中Options读取配置文件 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

接上一篇中講到利用Bind方法讀取配置文件

ASP.NET Core輕松入門Bind讀取配置文件到C#實例

那么在這篇文章中,我將在上一篇文章的基礎上,利用Options方法讀取配置文件

首先注冊MVC服務并添加MVC路由

注冊MVC的方法是在ConfigureServices中添加

?

services.AddMvc();
添加MVC路由的方法是在Configure中添加

?

?

app.UseMvcWithDefaultRoute();
然后在項目中添加Controllers文件夾和Views文件夾,然后在Controllers文件夾中添加home控制器 ,方法是在該文件加有幾-》添加-》控制器

?

選擇MVC控制器,并給該控制器命名為HomeControllers?? 控制器是必須以Controllers結尾的

然后選中控制器中的Index方法? 右鍵菜單,選擇添加視圖,不要勾選,使用模板頁,因為我們是一個空項目,沒有模板的

加入視圖后,回到home控制器,添加Class實例并利用HomeController的構造函數給該實例賦值,注意,就是在此處使用到了Options方法

?

private Class myClass;public HomeController(IOptions<Class> myClass){this.myClass = myClass.Value;} 然后修改Index方法,將myClass實例傳遞給視圖。

?

?

public IActionResult Index(){return View(myClass);}
回到Index視圖中,在文件的頂部指定model的類型為 Class類型,然后利用html代碼進行輸出。

?

?

@model BindReader.Class @{Layout = null; } <!DOCTYPE html> <html> <head><meta name="viewport" content="width=device-width" /><title>Index</title> </head> <h2>@Model.Name</h2> @foreach (var item in Model.Items) {<div><h2>@item.Language</h2><h2>@item.Tool</h2></div> } <body> </body> </html>
最后,回到StartUp.cs? 進行Class的依賴注入,注入的方法是在ConfigureServices添加以下代碼,因為系統會自動讀取appsettings.json中的信息,其內的具體內容在上一文章中有介紹。

?

?

services.Configure<Class>(Configuration);

?

最后,我們需要吧Configure中的app.Run方法進行注釋,因為該方法會阻塞管道,影響mvc的正常工作。


最后,可以運行查看效果了。


其實還有不需要在home控制器中利用構造函數引入myClass的方法,我們可以直接在利用Options方法讀取Class信息,需要將home控制器中構造函數中的代碼注釋,刪除Index 方法中Return View(myClass)的myClass? 因為此時myClass是空的。

然后Index控制器中修改后的代碼如下:

?

@using BindReader @using Microsoft.Extensions.Options @inject IOptions<Class> classAccess @{Layout = null; } <!DOCTYPE html> <html> <head><meta name="viewport" content="width=device-width" /><title>Index</title> </head> <h2>@classAccess.Value.Name</h2> @foreach (var item in classAccess.Value.Items) {<div><h2>@item.Language</h2><h2>@item.Tool</h2></div> } <body> </body> </html>
項目的完整代碼GitHub地址:https://github.com/liuzhenyulive/BindReader

?

有任何疑問可以在文章下方評論留言。


?

轉載于:https://www.cnblogs.com/CoderAyu/p/8490135.html

總結

以上是生活随笔為你收集整理的asp.net core轻松入门之MVC中Options读取配置文件的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。