私は最初のasp.netユーザーコントロールを書いています。カスタムコントロールでViewStateのシリアル化エラーを修正するにはどうすればよいですか?
ユーザーが選択できる場所の一覧が表示されます。私はコントロールの場所のリストを読み込むことができ、ページの投稿時にユーザーが選択した場所を見ることができますが、ページ自体がポストバック時に失われます。
IEnumerable<DetailedLocation>
のオブジェクトでリストを作成します。ここで、DetailedLocation
は、複数のフィールドを持つクラスです。string
フィールド。私はViewStateのにリストを入れしようとすると、私は次のエラーを取得する:
Type 'System.Linq.OrderedEnumerable`2
[[DetailedLocation, AT.Common, Version=1.0.0.0, Culture=neutral,
PublicKeyToken=null],[System.String, mscorlib, Version=2.0.0.0,
Culture=neutral, PublicKeyToken=b77a5c561934e089]]' in Assembly 'System.Core,
Version=3.5.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' is not
marked as serializable.
確かに、私のタイプは、直列化可能とマークすることができますが、このエラーメッセージが消えません。私はこの仕事を何とかすることが可能でなければならないことを知っています。結局のところ、私はこのタイプのオブジェクトをGridView
に渡すことができ、データはポストバックを通じて持続します。
これを修正するにはどうすればよいですか?
どのような簡単な答えとそれが動作します! :-D –