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. 在 Assemblies > Framework 下,搜索“System.Web.Helpers”双击
  3. System.Web.Helpers 版本 2.0.0.0 并单击确定。找出
  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 项目,并尝试将所有内容移动到区域中,它会删除 Helpers 库。但是,如果您将其创建为 Internet 项目,它们仍然存在。我创建了一个新项目作为互联网项目,现在一切正常。

于 2012-10-26T14:25:16.527 回答