29

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

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

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

これが私の正確なコードです:

{ url: '@Url.Action("DeleteDefinitionRule")', editData: 
    { companyCode: 'LO', definitionID:@Html.Raw(Json.Encode(Model.DefinitionID)) } }
4

3 に答える 3

70
  1. ソリューション エクスプローラーの参照 > 右クリック > 参照の追加
  2. [アセンブリ] > [フレームワーク] で、「System.Web.Helpers」を検索します ダブルクリック
  3. System.Web.Helpers バージョン 2.0.0.0 を選択し、[OK] をクリックします。を見つける
  4. 追加したばかりの System.Web.Helpers > 右クリック > プロパティ。
  5. 「ローカルにコピー」を false から true に変更します

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

アップデート

ここに画像の説明を入力

于 2012-11-24T12:36:42.820 に答える
5

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

@using System.Web.Helpers;
于 2013-04-19T15:50:04.807 に答える
0

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

于 2012-10-26T14:25:16.527 に答える