您现在的位置是:网站首页> 编程资料编程资料
ASP.NET Core MVC在视图中使用依赖注入_实用技巧_
2023-05-24
467人已围观
简介 ASP.NET Core MVC在视图中使用依赖注入_实用技巧_
ASP.NET Core 支持在试图中使用依赖注入。这将有助于提供视图专用的服务,比如本地化或者仅用于填充视图元素的数据。应尽量保持控制器和视图之间的关注点分离。视图所显示的大部分数据应该从控制器传入。
使用 @inject 指令将服务注入到视图,语法 @inject
@model MVCTest.Models.Operation @using MVCTest.Services @inject BaseInfoServices BaseInfoServices @{ ViewData["Title"] = "Create"; } - @foreach (var city in BaseInfoServices.GetCities()) {
- @city }
public class BaseInfoServices { public List GetCities() { return new List(); } } 需要提前在 ConfigureServices 中配置,将该服务加入到容器。
1.填充查找数据
视图注入有助于填充 UI 元素,例如下拉框列表。比如一个包括性别,州以及其他用户资料的表单。如果通过标准的 MVC 方式渲染这个表单,则需要控制器为每一组选项都请求数据访问服务,然后将每一组绑定的选项填充到模型或ViewBag中。
另一种则是直接将服务注入到视图中以获取这些选项数据。这种方法将控制器代码量减少到最少,把构造视图元素的逻辑移到视图本身去。控制器 Action 只需把用户资料数据传个表单即可。
2.重写服务
除了注入服务外,此技术还可用于重写页面上先前注入的服务。例如,替换默认的HTML Helper:
@model MVCTest.Models.Operation @using MVCTest.Services @inject BaseInfoServices BaseInfoServices @inject MyHtmlHelper Html
在视图中使用 @Html 将会调用自定义的服务。
如果想要扩展现有服务而不是替换,则只需在使用此技术的同时,让服务继承或者封装已有实现即可。
到此这篇关于ASP.NET Core MVC在视图中使用依赖注入的文章就介绍到这了。希望对大家的学习有所帮助,也希望大家多多支持。
您可能感兴趣的文章:
相关内容
- ASP.NET Core MVC中的局部视图用法_基础应用_
- .NET Core(.NET6)中gRPC使用实践_实用技巧_
- ASP.NET Core MVC中的标签助手(TagHelper)用法_实用技巧_
- ASP.NET Core MVC中的布局(Layout)_基础应用_
- .NET Core利用 AsyncLocal 实现共享变量的代码详解_实用技巧_
- ASP.NET Core MVC中的视图(Views)_基础应用_
- ASP.NET Core MVC中的模型(Model)_基础应用_
- ASP.NET Core MVC路由(Routing)的用法_基础应用_
- EF Core基础入门教程_实用技巧_
- ASP.NET Core中的Caching组件简介_实用技巧_
