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读取配置文件相关推荐
- ASP.NET Core轻松入门之Middleware管道模型
Middleware指的是微软的的asp.net core的管道模型.其原理可以用微软官方的下图展示: 原理如上图,随着Request的发起,HttpContext会经历多个管道处理(图中的箭头游走方 ...
- Asp.Net Core 轻松学-玩转配置文件
目录 前言 另类方式使用 hosting.json 使程序运行于多个端口 结语 前言 在 .NET Core 项目中,配置文件有着举足轻重的地位:与.NetFramework 不同的是,.NE ...
- ASP.NET Core 快速入门
ASP.NET Core 是一个由微软创建的,用于构建 web 应用.API.微服务 的 web 框架.通过本文的学习就能快速的入门ASP.NET Core,对大家的学习或者工作具有一定的参考学习价值 ...
- 6.1 ASP.NET Core Web 入门
6.1 ASP.NET Core Web 入门 ASP.NET Core中,严格来讲只有一个Asp.net Core MVC一个框架,Asp.net Core MVC既支持基于视图的MVC开发,也支持 ...
- Asp.Net Core 轻松学-多线程之Task快速上手
Asp.Net Core 轻松学-多线程之Task快速上手 原文:Asp.Net Core 轻松学-多线程之Task快速上手 前言 Task是从 .NET Framework 4 开始引入的一 ...
- ASP.NET Core快速入门(第2章:配置管理)--学习笔记
点击蓝字关注我们 课程链接:http://video.jessetalk.cn/course/explore 良心课程,大家一起来学习哈! 任务9:配置介绍 命令行配置 Json文件配置 从配置文件文 ...
- ASP.NET Core快速入门(第1章:介绍与引入)--学习笔记
点击蓝字关注我们 课程链接:http://video.jessetalk.cn/course/explore 良心课程,大家一起来学习哈! 任务1:课程介绍 1.介绍与引入 2.配置管理 3.依赖注入 ...
- 【笔记目录1】【jessetalk 】ASP.NET Core快速入门_学习笔记汇总
当前标签: ASP.NET Core快速入门 共2页: 1 2 下一页 任务50:Identity MVC:DbContextSeed初始化 GASA 2019-03-02 14:09 阅读:16 ...
- Asp.Net Core 轻松学-利用日志监视进行服务遥测
原文:Asp.Net Core 轻松学-利用日志监视进行服务遥测 前言 在 Net Core 2.2 中,官方文档表示,对 EventListener 这个日志监视类的内容进行了扩充,同时赋予 ...
最新文章
- 黑科技:绕过眼睛植入幻觉,科学家成功在盲人脑海中呈现指定图像!
- Python可视化matplotlib多子图可视化(Multiple Subplots):plt.axes()、plt.subplot()、plt.subplots()、
- 主运行循环main run loop的一些理解
- 全国计算机等级考试 简称NCRE,长春大学2018年下半年全国计算机等级考试(简称NCRE)招生简章...
- 三维匹配_机器视觉——双目视觉的基础知识(视差深度、标定、立体匹配)
- 软核、固核、硬核的区别【转】
- MySql分区表性能测试及切换案例
- Python矩阵的创建(不使用numpy)
- c++ new delete
- 经典按键java手机游戏_菜鸟也能轻松吃鸡的神器——莱仕达P30S手机游戏手柄体验...
- 当跳槽遇到互联网公司裁员寒潮,该如何应对?
- word中两个文档合并后如何标题序号不变
- 无法复制Word文档里的内容
- 小程序“扫码购”的自助收银模式可以为商家带来什么?
- 画原型图的几大坑,你被埋了吗?!
- Flutter开发 - 对于富文本展示的方法封装
- 微信商城小程序WeiMall
- 听完“Java 教父”李刚的分享,我总结了两点建议
- 菜鸟教程Python教程100例(三)(持续更新)
- 计算机培训结业典礼主持词,培训结业典礼主持词范例珍藏版(备份存档)
热门文章
- 使用JDK自带的VisualVM进行Java程序的性能分析
- 另一种方式实现事务码SE16里的结果集修改
- 找出SAP OData service出错根源的小技巧
- 战网服务器修改 win8,如何修改战网客户端?修改战网客户端的方法
- deepin系统中.txt文件图标显示内容问题_deepin从兴致勃勃到彻底放弃
- excel大作业素材_Excel | 同一单元格内多个姓名,如何统计人数
- php解析api xml并输出到html页面,怎样操作JS读取xml内容并输出到div内
- android 蓝牙不停扫描,android – BluetoothAdapter不会停止扫描BLE设备
- windows下写代码在linux下编译,如何在Windows中编译Linux Unix的代码(采用cygwin)?...
- 统计 表格_电商运营表格合集,运营统计绩效策划,全套excel表拿来就用