Question

I am trying to call a Json.Encode(...) method in MVC 4 and I'm getting an error: The name 'Json' does not exist in the current context.

I've tried adding System.Runtime.Serialization namespace, which has Json class, but this particular instance of Json class doesn't have Encode method.

What assembly am I missing here?

Here is my exact code:

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

Solution

  1. References in solutions explorer > right click > Add reference
  2. Under Assemblies > Framework, search for "System.Web.Helpers" Double click
  3. System.Web.Helpers version 2.0.0.0 and click ok. Find the
  4. System.Web.Helpers you've just added > right click it > properties.
  5. Change "Copy Local" from false, to true

And now @Json.Encode should work.

Update

enter image description here

OTHER TIPS

To be clear, even after you add the correct reference to your project, you still have to add this line at the top of your Razor page:

@using System.Web.Helpers;

Apparently if you create a new empty web project, and try and move everything into Areas, it removes the Helpers library. But if you create it as an internet project, they remain. I created a new project as an internet project and everything works now.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top