2012-10-01 8 views
27

Ich versuche, eine Json.Encode(...) Methode in MVC 4 zu nennen, und ich erhalte eine Fehlermeldung: The name 'Json' does not exist in the current context.mvc 4 Montage Referenz für Json.Encode fehlt

Ich habe versucht System.Runtime.Serialization Namespace hinzugefügt, die Json Klasse, aber Diese bestimmte Instanz der Klasse Json hat keine Encode Methode.

Welche Montage fehlt mir hier?

Hier ist mein genauer Code:

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

Haben Sie Ihre "Verwendung" hinzugefügt? –

+0

Das ist die Frage. Ich weiß, dass ich etwas benutzen soll, aber ich weiß nicht was. Ich kann es nicht finden, um mein Leben mit Google zu retten. – Scottie

+0

Sieht aus wie keine Json.Encode –

Antwort

68
  1. Referenzen im Explorer Lösungen> Rechtsklick> Hinzufügen Referenz
  2. Unter Baugruppen> Framework Suche nach "System.Web.Helpers" Klicken Sie doppelt
  3. System.Web.Helpers Version 2.0.0.0 und klicken Sie auf OK . Suchen Sie nach den
  4. System.Web.Helpers, die Sie gerade hinzugefügt haben> Rechtsklick darauf> Eigenschaften.
  5. Change "Copy Local" von falschen, auf true

Und jetzt @ Json.Encode sollte funktionieren.

aktualisieren

enter image description here

+0

Thanks man! Ich habe nach dieser Lösung gesucht. – ckng

+1

Also ich bin hier immer wieder und finde diese Antwort hilfreich. Tanks –

+1

Auch wenn Sie dieses Problem bei der Verwendung von MVC 5 RC (wahrscheinlich das gleiche gilt für MVC 5 RTM), dieses Assembly-Paket wurde umbenannt als Microsoft.AspNet.WebHelpers wie Anweisungen hier http: //www.asp.net/mvc/tutorials/mvc-5/how-to-upgrade-ein-aspnet-mvc-4-und-web-api-project-zu-aspnet-mvc-5-und-web-api-2 und Sie können bekomme es via Nuget UPDATE Eigentlich fehlt dieses Paket im Moment aber es sollte bald wieder erscheinen, denke ich. – mare

0

Anscheinend, wenn Sie ein neues leeres Webprojekt erstellen, und versuchen, alles in Bereiche bewegen, es entfernt die Helfer Bibliothek. Aber wenn Sie es als ein Internet-Projekt erstellen, bleiben sie. Ich habe ein neues Projekt als Internetprojekt erstellt und alles funktioniert jetzt.

+3

Das ist nicht gut genug für ich ^^. Möchte wirklich nicht alles in ein neues Projekt verschieben. – BjarkeCK

+0

Ich hatte einen Hinweis Pfad hinzuzufügen: .. \ packages \ Microsoft.AspNet.WebPages.2.0.20710.0 \ lib \ net40 \ System.Web.Helpers.dll tofutim

4

Um klar zu sein, auch nachdem Sie den richtigen Bezug zu Ihrem Projekt hinzufügen, haben Sie immer noch diese Zeile am oberen Rand Ihrer Razor Seite hinzufügen:

@using System.Web.Helpers;