0

私は[Serializable] classいくつかを持っていproperties,methods and some web controlsます。これを使用して、変数classを作成しました。Dictionary<string,object>これDictionary variableには、さまざまなobjects私のクラスが含まれています。これをすべての Web フォームで使用できるように、これDictionary variableを保存する必要があります。このコード行を使用して、view-stateDictionary variablepost-backDictionary variableview-state

ViewState[this.ClientID + "_CtrAdd"] = dictControl;

エラーがスローされます:

アセンブリ 'System.Web、Version=4.0.0.0、Culture=neutral、PublicKeyToken=b03f5f7f11d50a3a' の 'System.Web.UI.WebControls.TextBox' と入力すると、シリアル化可能としてマークされません。

ノート:

My class objects contains some web controls.

Dictionary variableこれをに保存する方法を教えてくださいView-state

4

2 に答える 2

1

あなたの例外は、何をすべきかについて本当に明確です。コントロールではなく、辞書内にデータを保存する必要があります。コントロールは多くのオブジェクトを参照しますが、これらすべてのオブジェクトを保存する必要があるため、コントロールはシリアル化できません。また、ViewState をできるだけ小さくしておく必要があります。サイズはパフォーマンスに大きな影響を与えます。

于 2013-07-30T11:22:34.053 に答える