我知道有一种方法可以在视图中添加 C# 函数并使用以下方法调用它们@functions{ ... }
方法在我的视图中,但是有没有一种方法可以创建一个共享视图,其中包含这些函数以包含在控制器视图内部,而无需在每个视图上复制相同的代码行?我尝试使用@inject
以及里面的其他方法_Layout
查看,但显然这些方法无法被调用。我也尝试创建一个像这样的外部类,但我只想在可能的情况下使用视图:
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 Functions func
并且,在StartUp
,我添加了一个指向我的抽象类的新服务,如下所示:
services.AddSingleton<Functions>();
因此,在每个视图中,我可以使用模型并像这样调用我的函数:
<h2>@func.MyFunction</h2>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)