0

とのようなテンプレートがcart.aspxありmail.aspxます。それらにいくつかの変数を渡し、このコードで結果ビューを取得しています

MySession2.Current.customer = customer;
StringWriter _writer = new StringWriter();
HttpContext.Current.Server.Execute("mail.aspx", _writer);
modal_info_text.InnerHtml = _writer.ToString();

最初の行で、変数をセッションに配置します。mail.aspxファイルでこの変数を取得します。他の行で、結果ビューを取得mail.aspxしてdivに配置します。

なので、これだけ使えば問題ありません。しかし、別のテンプレートを使用する必要がありますcart.aspx--。したがって、同じコードを使用cart.aspxしてカート div に入れると、エラーが発生します。これはエラーです:

The state information is invalid for this page and might be corrupted.

これを複数使用すると何が問題になりますか? ありがとう。

4

1 に答える 1

0

ここで考えられる原因は、ViewState である可能性があります。cart.aspx (または mail.aspx) に何らかの変更 (ViewState からのアイテムの追加または削除) を加えると、これが爆発する可能性があります。ページ全体を表示するために同じテンプレート (カートとメール) を再利用しようとしているだけでなく、別のページに挿入しようとしていると思います。より良いアプローチは、再利用可能なコンポーネントをユーザー コントロール (ascx) に配置し、必要に応じてレンダリングすることです。

于 2012-11-04T19:31:31.987 に答える