【问题标题】:ScriptIgnore ASP 6脚本忽略 ASP 6
【发布时间】:2016-05-12 13:56:03
【问题描述】:

当我将对象转换为 json 字符串时,我试图忽略一个字段。我在 Internet 上看到我必须在我的领​​域使用 [ScriptIgnore]。但是我找不到任何方法来导入 System.Web.Script...

我正在使用这个:

"dependencies": {
"AutoMapper": "4.2.1",
"EntityFramework.Commands": "7.0.0-rc1-final",
"EntityFramework.Core": "7.0.0-rc1-final",
"EntityFramework.MicrosoftSqlServer": "7.0.0-rc1-final",
"Microsoft.ApplicationInsights.AspNet": "1.0.0-rc1",
"Microsoft.AspNet.IISPlatformHandler": "1.0.0-rc1-final",
"Microsoft.AspNet.Mvc": "6.0.0-rc1-final",
"Microsoft.AspNet.Server.Kestrel": "1.0.0-rc1-final",
"Microsoft.AspNet.StaticFiles": "1.0.0-rc1-final",
"Microsoft.Extensions.Configuration.FileProviderExtensions": "1.0.0-rc1-final",
"Microsoft.Extensions.Configuration.Json": "1.0.0-rc1-final",
"Microsoft.Extensions.Logging": "1.0.0-rc1-final",
"Microsoft.Extensions.Logging.Console": "1.0.0-rc1-final",
"Microsoft.Extensions.Logging.Debug": "1.0.0-rc1-final"
},

这是因为 MVC 6 不兼容吗?

【问题讨论】:

    标签: asp.net asp.net-mvc asp.net-core-mvc


    【解决方案1】:

    不诉诸System.Web,我认为最好避免:

    由于 MVC 具有 switched formatters,您现在应该使用 [JsonIgnore](来自 Newtonsoft.Json)而不是 [ScriptIgnore]

    哦,如果您这样做是为了防止引用循环,请执行以下操作:https://stackoverflow.com/a/36633265/268066

    【讨论】:

      【解决方案2】:

      在解决方案资源管理器中右键单击“引用”,然后选择“添加引用..” - 您需要将 System.Web.Extensions from Assemblies - DNX 4.5.1 添加到您的解决方案中。

      请注意,您可能会收到关于 DNX Core 5.0 的编译器错误,这是针对云优化的框架的轻量级版本。如果您不需要支持它,只需从 project.json 的“框架”中删除即可。

       // comment out or delete.
       "dnxcore50": { } 
      

      如果您查看相关的 MSDN 文档,它会显示您需要包含的 Assembly 以供将来参考。

      【讨论】:

      • 呃,这很奇怪。我记得做过这样的事情..没关系。谢谢詹姆斯;)
      • got 有其他方法可以做到这一点,而无需求助于System.Web。也许这是另一个属性,或者完全不同的方法......
      【解决方案3】:

      使用 Newtonsoft.Json;

      使用 Newtonsoft.Json.Converters;

      公开课页面

      {

      public int Id { 获取;放; }

      public int Number { 获取;放; }

      公共整数? BookId { 得到;放; }

      [JsonProperty(ReferenceLoopHandling = ReferenceLoopHandling.Ignore)]

      公共图书图书{ get;放; }

      }

      ///////////////

      公开课本 {

      public int Id { 获取;放; }

      公共字符串名称 { 获取;放; }

      公共虚拟 ICollection 页面 { get;set;}

      }

      【讨论】:

      • 请提供更多上下文/解释
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-03-01
      • 2018-03-05
      • 2021-01-26
      • 2018-03-26
      • 1970-01-01
      相关资源
      最近更新 更多