在我的 CS 文件中,我正在执行以下操作,它按预期工作。
using System.Web.Helpers;
String json = System.Web.Helpers.Json.Encode(null);
但是,在我的 CSHTML 文件中,我正在执行以下操作,在这里,我收到一个关于Json无法在上下文中识别的错误。
@{ Layout = null; }
@using TestService.ServiceReference;
@using System.Web.Helpers;
<!DOCTYPE html>
<html>
...
<script type="text/javascript">
var output3 = "! @Html.Raw(Json.Encode(ViewBag.MyArray))";
...
如何解释/补救?谷歌搜索给了我 nada,零,ziltch ......
编辑
我已按照建议将程序集标签添加到我的 CONFIG 文件中,但我得到的错误是它对配置来说是未知的。这就是我的(根)CONFIG 的样子。
<system.web>
<compilation debug="true" targetFramework="4.0" />
<assemblies>
<add assembly="System.Web.Helpers, Version=2.0.0.0,
Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
</assemblies>
...
但是,我注意到我在 CONFIG 文件中确实有以下内容。我猜它是等价的。是吗?
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="System.Web.Helpers" publicKeyToken="31bf3856ad364e35" />
<bindingRedirect oldVersion="1.0.0.0-2.0.0.0" newVersion="2.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" />
<bindingRedirect oldVersion="1.0.0.0-4.0.0.0" newVersion="4.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Web.WebPages" publicKeyToken="31bf3856ad364e35" />
<bindingRedirect oldVersion="1.0.0.0-2.0.0.0" newVersion="2.0.0.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>