ASP.Net Core - 从 Razor 视图调用静态方法 - 构建失败而不给出错误

Posted

技术标签:

【中文标题】ASP.Net Core - 从 Razor 视图调用静态方法 - 构建失败而不给出错误【英文标题】:ASP.Net Core - Call a static method from Razor View - Build Fail without giving error 【发布时间】:2021-12-19 11:21:48 【问题描述】:

我正在尝试从我的剃刀视图调用静态方法。

我已经尝试过这两个功能(出于相同目的)-

1.扩展功能

public static String GetPresentableClaimName(this String text)

    string[] textArr = text.Split(".");
    Array.Reverse(textArr);
    return string.Join(" ", textArr);

2。普通函数

public static String GetPresentableClaimNameFromString(String text)

    string[] textArr = text.Split(".");
    Array.Reverse(textArr);
    return string.Join(" ", textArr);

然后在 razor 视图中,我为第一个函数像这样导入-

@item.ClaimValue.GetPresentableClaimName()

对于第二个功能,我正在这样做-

@Utility.GetPresentableClaimNameFromString(@item.ClaimValue)

item 是我的模型对象,ClaimValue 是该对象中的字符串属性。

对于这两种情况,我都发现了这个-

当我尝试构建或重建项目时。但没有显示错误。

谁能帮我找出我做错了什么?

【问题讨论】:

也许你的Utility 类(或你的扩展方法所在的类)不是公开的。 我的实用程序被定义为this-public static class Utility,所以一切都是公开的。 那长行(从下数第三个)不包含任何错误描述? 这是我目前拥有的最惊人的东西 :( 我在管道中使用的其他一些地方使用了 internal 关键字。这可能是问题吗? 【参考方案1】:

我在@Evk 的帮助下解决了这个问题,将课程从internal 更改为public

【讨论】:

以上是关于ASP.Net Core - 从 Razor 视图调用静态方法 - 构建失败而不给出错误的主要内容,如果未能解决你的问题,请参考以下文章

在 Razor (chtml) 中渲染动态视图,如何在 asp.net core 3.0 中将 FileProvider 添加到 razor?

覆盖 asp.net core razor 页面中的 razor 视图

[MVC&Core]ASP.NET Core MVC 视图传值入门

[MVC&Core]ASP.NET Core MVC 视图传值入门

Asp.net core razor 视图未格式化

在 ASP.NET Core 中将 Razor 视图渲染为字符串