Safari 5.1.5 で奇妙な問題が発生しています。wziard コントロールを使用している ASP.NET ページ (バージョン 4) があります。情報を収集しているウィザードの特定のステップで、ユーザーは、ウィザードの同じステップでポストバックを実行し、データグリッドに入力するリンク ボタンをクリックする必要があります。
データがデータセットに読み込まれ、データバインドが正常に機能し、情報がページに表示されます。これに伴い、後でウィザードで使用するために、データセットがセッション オブジェクトに読み込まれます。
ユーザーがこの特定のステップを終了すると、(ウィザードの) 次のボタンがクリックされ、十分な情報が提供されていることを確認するためのチェックが実行されます。これは、セッション オブジェクトからデータセットを取得することによって行われ、関連するテーブルが調べられます。
Google Chrome、IE、および Opera では、これは正常に機能し、データセットが取得され、データが存在します。ただし、Safari 5.1.5 および Firefox 14 では、データセットは空です。すべてのブラウザでまったく同じコードが実行されます。
Google と Safari の両方を使用してコードをステップ実行しましたが、Safari では、データグリッドの入力に使用されたにもかかわらず、データセットのデータテーブルが空です。
セッションオブジェクトにロードされる前にデータセットが破損していた可能性がありますが、セッション変数に割り当てられた直後にセッションからデータセットを取得し、データセットを XML にシリアル化することでこれをテストしました。XML ファイルは、情報がデータテーブルとセッションにロードされたことを示しています。
誰かが以前にこのような動作を見たことがありますか、またはここからどこへ行くべきかについて何か提案があります.
グレンさん、よろしくお願いします。
解決済み: 問題は、Safari が二重のポストバックを実行していたことでした。最初は正しく、2 回目はビューステート情報を使用してポストバックを実行していたため、IsPostBack が false であり、セッション変数が再度初期化されていました。