7

我正在尝试将 ASP.NET v4.0 中的 JavascriptSerializer 对象与 C# 一起使用。我没有使用 Visual Studio——这是在一个实时的 IIS7 服务器上。我可以在同一个 Web 服务器上使用 VB 很好地访问这个对象,所以我知道必要的 DLL 存在并正确配置。

但是当我尝试在 C# 中使用这个对象时,我得到了这个错误:The type or namespace name 'JavascriptSerializer' could not be found

在我的类文件中,我有这个:

using System.Web;
using System.Web.Script;
using System.Web.Script.Serialization;

在 web.config 中,我有这个:

<assemblies>
    <add assembly="System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
</assemblies>

在我的 default.aspx.cs 文件中,我有这个:

JavaScriptSerializer obj_serializer = new JavascriptSerializer();

正是这最后一行代码导致了上述错误。

帮助?

4

5 回答 5

14

您需要在应用程序中添加对System.Web.Extensions.dll的引用。System.Web.Extensions 是包含 JavaScriptSerializer 类的命名空间。然后添加一个 using 指令来使用命名空间 System.Web.Extensions,如下所示:

using System.Web.Extensions;

你也可以像这样声明你的 JavaScriptSerializer:

var serializer = new System.Web.Extensions.JavaScriptSerializer();
于 2013-04-04T17:56:17.583 回答
3

解决问题 -> 参考 Step->BY->Step

1.-> 转到Reference您的项目文件。

2.->右键单击然后转到Add Reference

3.->转到Framework

4.-> 然后参考--->System.Web.Extensions

5.-> 问题已解决。

于 2019-08-19T08:21:07.013 回答
2

我不知道您是否只是错误地键入了该行,但它是 JavaScriptSerializer,而不是 JavascriptSerializer(脚本中的大写字母 S)。

于 2013-04-04T17:58:25.880 回答
2

相反,您可能需要:

using System.Web.Script.Serialization;
于 2018-03-13T16:43:51.733 回答
0

所以我知道必要的 DLL 存在并正确配置。

它们可能被 bin 部署到该项目。您是否尝试在 VS 中的引用属性中将 CopyLocal 设置为 true 并重新部署?

于 2013-04-04T17:53:41.367 回答