Json.Encode()
ヘルパーはJavaScriptSerializer
クラスを使用して文字列をjsonにエンコードしますか?Json.Encode()はJavaScriptSerializerクラスを使用してシリアル化します
シリアル化されているクラスプロパティに[ScriptIgnore]
属性があっても、Json.Encode(Model)
を使用すると循環参照例外が発生します。
Json.Encode()
ヘルパーはJavaScriptSerializerを使用してjsonにシリアル化していませんが、msdnのどこにでもドキュメンテーションが見つかりません。上記リンクJson.Encodeに応じ
@Html.Raw(Json.Encode(Model))
ここでシリアライズしてはならない性質を持っているモデルの一つの例です...
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using System.Web.Script.Serialization;
namespace RobotDog.Entities {
public class Character {
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int Id { get; set; }
[MaxLength(200)]
public string Name { get; set; }
public virtual Person Person { get; set; }
[ScriptIgnore]
public virtual Movie Movie { get; set; }
}
}
'Json.Encode'可能性が最も高い' System.Web.Mvc'を使用するを参照してください支援するためにも
System.Web.Script.Serialization.JavaScriptSerializer
ある
'System.Web.Script.Serialization.JavaScriptSerializer'とは異なるネームスペースです。あなたは何を達成しようとしていますか? – juanreyesv
私のコントローラでは、私のリポジトリに 'IEnumerable'を取得してビューにUI用のKnockoutJSを使用しているため、モデルをシリアル化しています。 –
bflemi3
私のエンティティは、私のWebプロジェクトから別のクラスライブラリプロジェクトにあることにも言及する必要があります。 – bflemi3