質問
さまざまなステップでパネルを使用するASP.NETでマルチパートWebフォームを作成し、現在のステップのパネルのみを表示しています。ステップ1には、Javascript関数を使用して、「onchange」を介して同じパネル内のフィールドの一部を再構成するドロップダウンリストがあります。明らかに、クライアント側のスクリプトはDOMにのみ影響するため、ステップ2に進んでからステップ1に戻ると、同じドロップダウン選択が選択されていても、ステップ1のフィールドは元の構成に戻ります。
ステップ間でパネルの視覚状態を保存するための良い方法は何ですか?ページの読み込み時にドロップダウンのonchange関数を呼び出すことを検討しましたが、それは不格好に思えました。ありがとう!
-
簡単な回答をありがとう-ウィザードを試してみると思いますが、AJAXソリューションも楽しいようです。
解決
このためにASP.Netウィザードコントロールを検討するかもしれません-あなたがしようとしていることの多くを自動化します。
他のヒント
MultiViewコントロールを使用することをお勧めします。これは、セマンティクス的により適切だと言えます。そして、このデータをViewStateに保存します。似たようなものを書いたが、それは揺れる。
最善の策は、すべての状態を1か所に維持するか、まったく状態を維持しないことです。主な問題は、クライアント側の状態とサーバー側の状態を同期することです。
可能な場合、ポストバックする代わりにJavaScriptでパネルを表示/非表示にしてみてください。そうでない場合は、次/前のボタンをクリックするのではなく、選択された直後にサーバー側の値を更新するためにajaxを使用します。
それ以外の場合は、 ASP.Net Ajax Toolkitタブのようなものを使用できます。 移行を支援します。
役立つことを願っています!