gpt4 book ai didi

asp.net - 在 dotnet mvc 5 中,如何将服务注入(inject) View ?

转载 作者:行者123 更新时间:2023-12-03 14:27:28 25 4
gpt4 key购买 nike

dotnet 核心 mvc ,我可以使用 将服务注入(inject)到 View 中@注入(inject) 指令,但如何在 中执行此操作dotnet mvc 5 .好像没有 @注入(inject) 中的指令mvc 5 .

最佳答案

ASP.NET MVC 5 没有 @inject此关键字仅存在于 ASP.NET Core 中。
使用 @model 的解决方法
但是,您仍然可以在 Controller 中注入(inject)依赖项,并从 Controller 将其传递给模型。 @model@Model可以在 Razor 页面/ View 中自由使用。
MyController.cs:

public class MyController : Controller
{
public MyController(IMyDependency dependency)
{
_dependency = dependency;
}

public ActionResult Index()
{
View(new ViewModel
{
Dependency = _dependency
});
}
}

Razor.cshtml:
@model ViewModel

@if (Model.Dependency.CanView)
{
<!-- Put the code here -->
}

这也意味着您可以输入 IServiceProvider在模型中并直接在 View 中解析。但是,就关注点分离而言,这并不是理想的选择。

关于asp.net - 在 dotnet mvc 5 中,如何将服务注入(inject) View ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41030945/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com