MultiView コントロールを含むページがあり、一部のビューはスクロールするのに十分な長さです。レビューのコントロールの多くは、正しく機能するためにポストバックを必要とするため、MaintainScrollPositionOnPostBack がページで有効になっています。
ユーザーがあるビューから別のビューに移行するときに問題が発生します。それらが長いビューの下部にあり、別の長いビューに移行した場合、新しいビューが読み込まれ、一番下までスクロールされます。ユーザーが MultiView 内の新しいビューに移動したときに、ページの先頭にジャンプする必要があります。
OnActiveViewChanged イベントを使用して試してみました: - RegisterStartupScript を呼び出して、window.location.hash をページの上部に配置したアンカーに設定します。- RegisterStartupScript を呼び出して window.scrollTo(0,0) を呼び出します - MaintainScrollPositionOnPostBack を一時的に false に設定します
問題は、これらのどれも実際の移行ポストバックに影響を与えないように見えることです。それらは次のポストバックで有効になり、実際にはより大きな問題を引き起こします。
新しいビューに遷移するポストバックでのみ MultiView ページをページのトップにジャンプさせる実証済みの方法を誰かが持っていますか?