7

App_codeの には、 と呼ばれるヘルパー関数がFormatTelephone(string number)ありFormatter.cshtmlます。で部分表示でアクセスしてみました@Formatter.FormatTelephone(number)。私がそれをテストすると、それは言う

コンパイラ エラー メッセージ: CS0103: 名前 'Formatter' は現在のコンテキストに存在しません

考えられる原因は何ですか?ありがとう!

4

3 に答える 3

7

サイトを別のサーバーに展開するときに、この正確な問題に遭遇しました。App_Code/Formatter.cshtml ファイルが実際にサーバーにコピーされていることを確認してください。私の間違いは、ファイルに「None」に設定されたビルドアクションがあることでした。ファイルを右クリックして [プロパティ] を選択し、[ビルド アクション] を [コンテンツ] に設定します。

ノート:

asp.net mvc 3/4 がインストールされていない場合は、次の dll が bin フォルダーにあることを確認してください。

  • System.Web.Mvc
  • Microsoft.Web.Infrastructure
  • System.Web.Razor
  • System.Web.WebPages
  • System.Web.WebPages.Razor

Scott Hanselman が、問題の原因についてのブログ投稿を行っています。 BIN Razor を使用した ASP.NET MVC 3 を、MVC がインストールされていない Windows サーバーに展開する

于 2012-11-28T03:26:35.767 に答える
1

以下は私にとってはうまくいきます~/App_Code/Formatter.cshtml

@helper FormatTelephone(string number)
{
    <div>Formatted @number</div>
}

そして、いくつかのビューで:

@Formatter.FormatTelephone("123")
于 2011-10-20T17:00:58.640 に答える