【问题标题】:ASP.Net Core - Call a static method from Razor View - Build Fail without giving errorASP.Net Core - 从 Razor 视图调用静态方法 - 构建失败而不给出错误
【发布时间】: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 关键字。这可能是问题吗?

标签: c# asp.net asp.net-mvc asp.net-core razor


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-09-26
    • 2022-07-07
    • 2018-09-12
    • 1970-01-01
    • 1970-01-01
    • 2021-11-30
    相关资源
    最近更新 更多