2012-04-19 8 views
1

を移入し、私はこのAJAX呼び出しを作っていますこの場合、空の文字列がnullに変わる理由は誰にも分かりますか? 私がNULL可能な特性のためにjavascriptserializerのバグについて語っこの記事が見つかりました:、

http://juristr.com/blog/2012/02/aspnet-mvc3-doesnt-deserialize-nullable/

しかし、私の場合はそれよりもさらに簡単ですが、私はちょうどdeseralizeと説明フィールドを含むオブジェクトしたい場合があり、そのいくつかの空の文字列にする。

空の文字列とヌルの違いを教えて、nullが発生した場合に例外をスローする必要があります(クライアントjsコードはC#オブジェクトと同期していません。それについて)。

MVCの専門家が私にこの問題を明らかにすることができますか?

ありがとうございます!

答えて

3

私は、これらのフィールドに空の文字列を送信すること

... = default(string); 
に変換でしょう(MyClassの)問題はModelBinderのデフォルトの動作は、モデルタイプのデフォルト値に空のフィールドを変換することであるということだと思います

これはあなたにnullを与えるでしょう。

この動作を変更するには、そのクラス用に独自のModelBinderを作成し、リクエストに含まれていても空の文字列に設定する必要があると思います。

関連する問題