Model view controller MVC-以下方法或属性之间的调用不明确

Model view controller MVC-以下方法或属性之间的调用不明确,model-view-controller,asp.net-mvc-views,Model View Controller,Asp.net Mvc Views,我不明白为什么我会犯这个错误。我的项目中只有一个类和一个方法,看起来像: public static class Extensions { public static string Chop(this string s, int length) { ... return ""; } } 在我看来,我这样称呼它:@item.PostContent.Chop20 它给了我一个编译器错误: The call is ambiguous betwe

我不明白为什么我会犯这个错误。我的项目中只有一个类和一个方法,看起来像:

public static class Extensions
{
    public static string Chop(this string s, int length)
    {
        ...
        return "";
    }
}
在我看来,我这样称呼它:@item.PostContent.Chop20 它给了我一个编译器错误:

The call is ambiguous between the following methods or properties: 'Extensions.Chop(string, int)' and 'Extensions.Chop(string, int)'

感谢您的帮助。谢谢。

我猜您已经将扩展类文件放在应用程序代码文件夹中,对吗?如果是这样,请将其移到App_代码之外并清除该文件夹。App_代码在MVC应用程序中没有位置,MVC应用程序默认创建为Web应用程序项目,而不是Web站点项目


Web应用程序在构建时编译为dll,而App_代码中的任何内容也在运行时编译为单独的dll。因此有两种方法和模糊性。

我猜您已经将扩展类文件放在了App_代码文件夹中,对吗?如果是这样,请将其移到App_代码之外并清除该文件夹。App_代码在MVC应用程序中没有位置,MVC应用程序默认创建为Web应用程序项目,而不是Web站点项目


Web应用程序在构建时编译为dll,而App_代码中的任何内容也在运行时编译为单独的dll。因此有两个方法和模糊性。

如果方法是静态的,您不需要在类名上调用它吗@项目。后内容。扩展。Chop20?我不这么认为。我使用本文作为参考:。不管怎样,编译器都不喜欢这样……在文章中,他从自己的视图调用代码,如下所示:ViewData[myString].ToString.Chop50,这在您的情况下不起作用吗?如果方法是静态的,您不需要在类名上调用它吗@项目。后内容。扩展。Chop20?我不这么认为。我使用本文作为参考:。不管怎样,编译器都不喜欢这样……在这篇文章中,他从自己的角度调用代码,如下所示:ViewData[myString].ToString.Chop50,这在您的情况下不起作用吗?谢谢!是的,我在App_代码中有它。谢谢你的解释。很好,谢谢!是的,我在App_代码中有它。谢谢你的解释。现在效果很好。