gpt4 book ai didi

c# - 所有 View 中的单个 .NET Core Razor C# 函数

转载 作者:太空狗 更新时间:2023-10-30 01:14:03 25 4
gpt4 key购买 nike

我知道有一种方法可以在 View 中添加 c# 函数并在我的 View 中使用 @functions{ ... } 方法调用它们,但是有没有一种方法可以创建共享 View 将这些功能包含在 Controller View 内部,而无需在每个 Controller 上复制相同的代码行?我尝试在 _Layout View 中使用 @inject 和其他方法,但显然无法调用这些方法。我也尝试创建一个这样的外部类,但我只想在可能的情况下使用 View :

public class Functions : RazorPage<dynamic>
{
public override Task ExecuteAsync()
{
throw new NotImplementedException();
}

public string GetTabActive(string lang)
{
if (ViewBag.lang.ToString() == lang) return "active";
return "";
}
}

最佳答案

我终于找到了一种方法来做到这一点,我需要在 _ViewImports 中注入(inject)类并提供属性名称,如下所示:

@inject Functions func

并且,在 StartUp 中,我添加了一个指向我的抽象类的新服务,如下所示:

services.AddSingleton<Functions>();

因此,在每个 View 中,我可以使用模型并调用我的函数:

<h2>@func.MyFunction</h2>

关于c# - 所有 View 中的单个 .NET Core Razor C# 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46603562/

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