2016-06-24 11 views
0

私はこの非常に短いカスタムヘルパーカミソリのWeb.configでMVC 5ヘルパーエラー

using System.Web.Mvc; 

namespace Colibri.HtmlHelpers 
{ 
    public static class CustomHelper 
    { 
     public static MvcHtmlString SearchBar(this HtmlHelper helper, string type) 
     { 
      return new MvcHtmlString("<input type=\"text\" placeholder =\"Recherche...\" id=\"" + type + "-Search\" class=\"Search-Input\"/>"); 
     } 
    } 
} 

を持っている私は、適切なセクションに名前空間を追加しました:

<add namespace="Colibri.HtmlHelpers" /> 

Anが、私はちょうどそれを呼びたいですこのコードのビューから:

ここ
@Html.SearchBar("Article") 

私はこのエラーを取得します

Error CS0121 The call is ambiguous between the following methods or properties: 'Colibri.HtmlHelpers.CustomHelper.SearchBar(System.Web.Mvc.HtmlHelper, string)' and 'Colibri.HtmlHelpers.CustomHelper.SearchBar(System.Web.Mvc.HtmlHelper, string)'

私はWeb.configファイル内の名前空間を追加しない場合、それは言う:あなたの助けのための

Error CS1061 'HtmlHelper' does not contain a definition for 'SearchBar' and no extension method 'SearchBar' accepting a first argument of type 'HtmlHelper' could be found (are you missing a using directive or an assembly reference?)

感謝を。

+1

いいえ、別の名前空間とは関係ありません.2つの場所で宣言された同じメソッドの署名があるだけです。プロジェクト全体で 'SearchBar'メソッドを検索し、チェックしてみてください。 –

+1

CS0121は通常、異なるバージョンのアセンブリ、クラス、またはメソッドがプロジェクトに2つ存在する場合に表示されます。名前の競合が問題の背後にあると思われる場合は、完全な名前空間を使用するか、メソッド名を変更してください。 –

+0

私はすでにそれをチェックしました、私が忘れたと仮定して、私はずっと前に同じ名前の何かをしましたが、それはありませんでした。 これは実際には同じ参照です。メソッドを呼び出すと、同じシグネチャが2回表示されます。 非常に奇妙です。 – Julien

答えて

0

ご協力いただきありがとうございます。

私は問題を発見しました:.csファイルをApp_Codeディレクトリから別のディレクトリに移動しました。

これで正常に動作します。