13html
新建Controllers文件夾,在裏面添加HomeController控制器json
新建Views文件夾,再新建Home文件夾。再新建Index.cshtml的視圖頁面app
註釋上節課的代碼,不然咱們的管道都會被抵消,最後只輸出了。appsettings.json文件的內容ide
注入MVCspa
添加默認路由,3d
這樣就把整個MVC的middleware添加到咱們的應用程序當中code
使用IOptions是一個泛型的方法,把咱們的Class傳進去,htm
Controller內輸出代碼blog
@model OptionsBindSample.Class @{ ViewData["Title"] = "Index"; } <h2>Index</h2> <h4>Class No: @Model.ClassNo</h4> <h4>Class Desc: @Model.ClassDesc</h4> <h3> Students: </h3> <div> @foreach (var student in Model.Students) { <span>Name: @student.Name</span> <span>Age: @student.Age</span> } </div>
依賴注入和視圖都完成後,要在Startup裏面註冊一下MyClass.把Configuration傳進去。那麼Options就會從這裏讀取到咱們的IOptions那個方法裏面去路由
services.Configure<Class>(Configuration);
運行頁面,咱們的options成功讀取到了信息。
在Controller裏面進行依賴注入,顯得代碼有點單純 多餘,
咱們能夠在視圖中把這個配置中從依賴注入中直接讀取出來。
controller裏面就是默認的返回
直接在視圖中注入
@using Microsoft.Extensions.Options; @inject IOptions<OptionsBindSample.Class> ClassAccesser @{ ViewData["Title"] = "Index"; } <h2>Index</h2> <h4>Class No: @ClassAccesser.Value.ClassNo</h4> <h4>Class Desc: @ClassAccesser.Value.ClassDesc</h4> <h3> Students: </h3> <div> @foreach (var student in ClassAccesser.Value.Students) { <span>Name: @student.Name</span> <span>Age: @student.Age</span> } </div>
一樣拿到了咱們的結果