web-dev-qa-db-ja.com

Json.Encodeのmvc 4アセンブリ参照がありません

MVC 4でJson.Encode(...)メソッドを呼び出そうとしていますが、エラーが発生しています:The name 'Json' does not exist in the current context.

Jsonクラスを持つSystem.Runtime.Serialization名前空間を追加しようとしましたが、Jsonクラスのこの特定のインスタンスにはEncodeメソッドがありません。

ここで不足しているアセンブリは何ですか?

ここに私の正確なコードがあります:

{ url: '@Url.Action("DeleteDefinitionRule")', editData: 
    { companyCode: 'LO', definitionID:@Html.Raw(Json.Encode(Model.DefinitionID)) } }
29
Scottie
  1. ソリューションエクスプローラーでの参照>右クリック>参照の追加
  2. [アセンブリ]> [フレームワーク]で、[System.Web.Helpers]を検索し、ダブルクリックします
  3. System.Web.Helpersバージョン2.0.0.0をクリックし、[OK]をクリックします。を見つける
  4. 追加したSystem.Web.Helpers>右クリック>プロパティ。
  5. 「ローカルのコピー」をfalseからtrueに変更

そして今、@ Json.Encodeは動作するはずです。

更新

enter image description here

69
BjarkeCK

明確にするために、プロジェクトに正しい参照を追加した後でも、Razorページの上部に次の行を追加する必要があります。

@using System.Web.Helpers;
5
MattSlay

新しい空のWebプロジェクトを作成し、すべてをAreasに移動しようとすると、ヘルパーライブラリが削除されるようです。ただし、インターネットプロジェクトとして作成した場合、それらは残ります。私はインターネットプロジェクトとして新しいプロジェクトを作成しましたが、現在はすべて動作します。

0
Scottie