MVC 4 @Scripts「存在しません」質問する

MVC 4 @Scripts「存在しません」質問する

IndexASP.NET MVC 4 プロジェクトを作成し、Visual Studio 2012 RC を使用して、アクション用のコントローラーと Razor ビューを作成しましたCreate

アプリケーションを実行してCreateビューを参照すると、次のエラーが表示されました。

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

問題は、ビューの下部に自動的に追加された次のコードです。

@section Scripts {
    @Scripts.Render("~/bundles/jqueryval")
}

なぜスクリプトが存在しないのですか?

アセンブリSystem.Web.Mvc.dll、v4.0.0.0の基本Webページクラスを調べました。

利用可能なヘルパー プロパティは次のとおりです。

  • アヤックス
  • HTML
  • URL

しかし、スクリプトという名前のものはありません。

何か案は?

編集:

私の Web.config ファイルは次のようになります (Visual Studio によって作成されたものから変更されていません)。

  <system.web.webPages.razor>
    <host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
    <pages pageBaseType="System.Web.Mvc.WebViewPage">
      <namespaces>
        <add namespace="System.Web.Mvc" />
        <add namespace="System.Web.Mvc.Ajax" />
        <add namespace="System.Web.Mvc.Html" />
        <add namespace="System.Web.Routing" />
      </namespaces>
    </pages>
  </system.web.webPages.razor>

編集#2:

ヘルパーの使用についてブログに書いている人たちがいます@Scripts:

@Scriptsしかし、新規の Windows 8 インストールに Visual Studio 2012 RC をインストールしたばかりなので、Visual Studio によって生成されたビューに追加されても、まだ使用できません。

解決策は以下に記載されています。

結局、アップデートで問題が解決したようだったので、この件をどう締めくくればいいのかわかりません。新しいプロジェクトを使用してクリーン インストールを実行したことを再度確認しました。しかし、私が作成した同じ失敗したプロジェクトは、さまざまなアップデートを行った後、手動での明らかな介入もなく、今では正常に動作しています。ご意見をありがとうございましたが、当時は間違いなく問題がありました ;)

ベストアンサー1

ここで重要なのは、

 <add namespace="System.Web.Optimization" /> 

両方の web.config ファイルに追加します。私のシナリオでは、プロジェクトとメイン/ルートの web.config の両方に System.Web.Optimization 参照がありましたが、@Scripts はまだ正しく動作しませんでした。動作させるには、Views web.config ファイルに名前空間参照を追加する必要があります。

アップデート:

MVC 4 のリリース以降、System.Web.Optimization は廃止されました。空のソリューションから開始する場合は、次の NuGet パッケージをインストールする必要があります。

Install-Package Microsoft.AspNet.Web.Optimization

web.config ファイルで System.Web.Optimization を参照する必要があります。詳細については、次のトピックを参照してください。

MVC-3 から 4 に変換されたアプリに System.Web.Optimization への参照を追加する方法

多くの人が指摘したように、VSの再起動これを機能させるには、上記の手順の後に必要になる場合があります。

おすすめ記事