私はMultiViewコントロールを持つページがあり、ビューの一部はスクロールするのに十分な長さです。レビューのコントロールのポストバックが正しく機能するためには、MaintainScrollPositionOnPostBackがページで有効になっている必要があります。MultiView&MaintainScrollPositionOnPostBack
ユーザーがあるビューから別のビューに移行するときに問題が発生します。それらが長いビューの一番下にあって、別の長いビューに移行すると、新しいビューがロードされ、一番下までスクロールされます。ユーザーがMultiView内の新しいビューに移動すると、ページの先頭にジャンプする必要があります。
私は、OnActiveViewChangedイベントを使用して: を試しました - 私はページの上部に配置アンカーにwindow.location.hashを設定するRegisterStartupScriptを呼び出します。 - window.scrollToは(0,0) を呼び出すためにRegisterStartupScriptを呼び出す - 設定MaintainScrollPositionOnPostBack falseに一時的に
問題は、これらのどれもが、実際の移行ポストバックに影響を与えるように思わない、彼らは次ポストバックに反映ということです、実際にはより大きな問題を引き起こします。
誰かが、マルチビューページを新しいビューに移行するポストバックでのみページのトップへジャンプする実績のある方法はありますか?
更新パネルの内側に私のマルチビューのために動作するようには思えないという点で、私は、このアプローチの問題を発見したので、あなたはにフックする必要がありますこの回答に従って、beginRequestハンドラとendRequestハンドラを作成します。http://stackoverflow.com/questions/616210/reset-scroll-position-after-async-postback-asp-netこれにより、ポストバックコントロールをチェックして、endRequestの特定のコントロールイベントのスクロール位置のみをリセットすることができます。 – hearn