接上一篇中讲到利用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读取配置文件相关推荐

  1. ASP.NET Core轻松入门之Middleware管道模型

    Middleware指的是微软的的asp.net core的管道模型.其原理可以用微软官方的下图展示: 原理如上图,随着Request的发起,HttpContext会经历多个管道处理(图中的箭头游走方 ...

  2. Asp.Net Core 轻松学-玩转配置文件

    目录 前言 另类方式使用 hosting.json 使程序运行于多个端口 结语 前言     在 .NET Core 项目中,配置文件有着举足轻重的地位:与.NetFramework 不同的是,.NE ...

  3. ASP.NET Core 快速入门

    ASP.NET Core 是一个由微软创建的,用于构建 web 应用.API.微服务 的 web 框架.通过本文的学习就能快速的入门ASP.NET Core,对大家的学习或者工作具有一定的参考学习价值 ...

  4. 6.1 ASP.NET Core Web 入门

    6.1 ASP.NET Core Web 入门 ASP.NET Core中,严格来讲只有一个Asp.net Core MVC一个框架,Asp.net Core MVC既支持基于视图的MVC开发,也支持 ...

  5. Asp.Net Core 轻松学-多线程之Task快速上手

    Asp.Net Core 轻松学-多线程之Task快速上手 原文:Asp.Net Core 轻松学-多线程之Task快速上手 前言     Task是从 .NET Framework 4 开始引入的一 ...

  6. ASP.NET Core快速入门(第2章:配置管理)--学习笔记

    点击蓝字关注我们 课程链接:http://video.jessetalk.cn/course/explore 良心课程,大家一起来学习哈! 任务9:配置介绍 命令行配置 Json文件配置 从配置文件文 ...

  7. ASP.NET Core快速入门(第1章:介绍与引入)--学习笔记

    点击蓝字关注我们 课程链接:http://video.jessetalk.cn/course/explore 良心课程,大家一起来学习哈! 任务1:课程介绍 1.介绍与引入 2.配置管理 3.依赖注入 ...

  8. 【笔记目录1】【jessetalk 】ASP.NET Core快速入门_学习笔记汇总

    当前标签: ASP.NET Core快速入门 共2页: 1 2 下一页  任务50:Identity MVC:DbContextSeed初始化 GASA 2019-03-02 14:09 阅读:16 ...

  9. Asp.Net Core 轻松学-利用日志监视进行服务遥测

    原文:Asp.Net Core 轻松学-利用日志监视进行服务遥测 前言     在 Net Core 2.2 中,官方文档表示,对 EventListener 这个日志监视类的内容进行了扩充,同时赋予 ...

最新文章

  1. 黑科技:绕过眼睛植入幻觉,科学家成功在盲人脑海中呈现指定图像!
  2. Python可视化matplotlib多子图可视化(Multiple Subplots):plt.axes()、plt.subplot()、plt.subplots()、
  3. 主运行循环main run loop的一些理解
  4. 全国计算机等级考试 简称NCRE,长春大学2018年下半年全国计算机等级考试(简称NCRE)招生简章...
  5. 三维匹配_机器视觉——双目视觉的基础知识(视差深度、标定、立体匹配)
  6. 软核、固核、硬核的区别【转】
  7. MySql分区表性能测试及切换案例
  8. Python矩阵的创建(不使用numpy)
  9. c++ new delete
  10. 经典按键java手机游戏_菜鸟也能轻松吃鸡的神器——莱仕达P30S手机游戏手柄体验...
  11. 当跳槽遇到互联网公司裁员寒潮,该如何应对?
  12. word中两个文档合并后如何标题序号不变
  13. 无法复制Word文档里的内容
  14. 小程序“扫码购”的自助收银模式可以为商家带来什么?
  15. 画原型图的几大坑,你被埋了吗?!
  16. Flutter开发 - 对于富文本展示的方法封装
  17. 微信商城小程序WeiMall
  18. 听完“Java 教父”李刚的分享,我总结了两点建议
  19. 菜鸟教程Python教程100例(三)(持续更新)
  20. 计算机培训结业典礼主持词,培训结业典礼主持词范例珍藏版(备份存档)

热门文章

  1. 使用JDK自带的VisualVM进行Java程序的性能分析
  2. 另一种方式实现事务码SE16里的结果集修改
  3. 找出SAP OData service出错根源的小技巧
  4. 战网服务器修改 win8,如何修改战网客户端?修改战网客户端的方法
  5. deepin系统中.txt文件图标显示内容问题_deepin从兴致勃勃到彻底放弃
  6. excel大作业素材_Excel | 同一单元格内多个姓名,如何统计人数
  7. php解析api xml并输出到html页面,怎样操作JS读取xml内容并输出到div内
  8. android 蓝牙不停扫描,android – BluetoothAdapter不会停止扫描BLE设备
  9. windows下写代码在linux下编译,如何在Windows中编译Linux Unix的代码(采用cygwin)?...
  10. 统计 表格_电商运营表格合集,运营统计绩效策划,全套excel表拿来就用