ここで愚かな問題があります。ASP .NET MVC 4、EF5、および Ext JS (Sencha) を使用して Web アプリケーションを開発しています。
問題は、設計上 (理由はわかりません)、ajax リクエストを実行するときの Ext JS は、null 値を持つ js オブジェクトを空の文字列に変換することです。
念のため、例を単純化しすぎます。
したがって、JavaScript に変数がある場合
icon_id : null
JObjectサーバー側を取得すると、次のようになります
icon_id : ""
icon_id
リクエストのパラメータとして渡すとき。したがって、私が書くicon_id.ToObject<MyNETIconIDClass>()
と、文字列からnull許容intに変換できないことを示す例外が発生します。これは理解できます。
この背後にあるロジックを誤解している可能性がありますが、Ext JS ソース コードをいじりたくないので、Json.NET デシリアライザーに空の文字列を null と見なすように指示する方法はありますか?
私が見た限りでは、これを正しく機能させるために、モデル内のすべてのクラスのすべての null 許容 int プロパティを変更する必要があるため、コンバーターを使用するのは面倒です。