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

歡迎訪問 生活随笔!

生活随笔

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

asp.net

ASP.NET Core MVC 之依赖注入 View

發布時間:2023/12/2 asp.net 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 ASP.NET Core MVC 之依赖注入 View 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

  ASP.NET Core 支持在試圖中使用依賴注入。這將有助于提供視圖專用的服務,比如本地化或者僅用于填充視圖元素的數據。應盡量保持控制器和視圖之間的關注點分離。視圖所顯示的大部分數據應該從控制器傳入。

  使用 @inject 指令將服務注入到視圖,語法 @inject <type> <name>,例如:

@model MVCTest.Models.Operation @using MVCTest.Services @inject BaseInfoServices BaseInfoServices@{ViewData["Title"] = "Create"; } <ul>@foreach (var city in BaseInfoServices.GetCities()){<li>@city</li>} </ul> public class BaseInfoServices{public List<string> GetCities(){return new List<string>();}}

  需要提前在?ConfigureServices 中配置,將該服務加入到容器。

?

  1.填充查找數據

  視圖注入有助于填充 UI 元素,例如下拉框列表。比如一個包括性別,州以及其他用戶資料的表單。如果通過標準的 MVC 方式渲染這個表單,則需要控制器為每一組選項都請求數據訪問服務,然后將每一組綁定的選項填充到模型或ViewBag中。

  另一種則是直接將服務注入到視圖中以獲取這些選項數據。這種方法將控制器代碼量減少到最少,把構造視圖元素的邏輯移到視圖本身去。控制器 Action 只需把用戶資料數據傳個表單即可。

  

  2.重寫服務

  除了注入服務外,此技術還可用于重寫頁面上先前注入的服務。例如,替換默認的HTML Helper:

@model MVCTest.Models.Operation @using MVCTest.Services @inject BaseInfoServices BaseInfoServices @inject MyHtmlHelper Html

  在視圖中使用 @Html 將會調用自定義的服務。

  如果想要擴展現有服務而不是替換,則只需在使用此技術的同時,讓服務繼承或者封裝已有實現即可。

?

轉載于:https://www.cnblogs.com/afei-24/p/11366373.html

總結

以上是生活随笔為你收集整理的ASP.NET Core MVC 之依赖注入 View的全部內容,希望文章能夠幫你解決所遇到的問題。

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