ASP.NET MVC 4 ビューでは、AJAX を使用して更新できる "スクロールせずに見える範囲" の div があります。非同期更新でも、ブラウザはページの上部までスクロールします。
利用可能なJavaScriptソリューションがいくつかあるようです(どれもうまくいきませんでした)が、この課題に対するMVCソリューションを思いついた人はいますか...特に、「古いスタイル」のRequestPageManagerを使用したweb.UIソリューションのようなもの(笑) asp.net?
ASP.NET MVC 4 ビューでは、AJAX を使用して更新できる "スクロールせずに見える範囲" の div があります。非同期更新でも、ブラウザはページの上部までスクロールします。
利用可能なJavaScriptソリューションがいくつかあるようです(どれもうまくいきませんでした)が、この課題に対するMVCソリューションを思いついた人はいますか...特に、「古いスタイル」のRequestPageManagerを使用したweb.UIソリューションのようなもの(笑) asp.net?
JQuery ajax() 呼び出しを試しましたか?
以下のようになります
function update() {
jQuery.ajax({
url: 'Page2.aspx/GetData',
type: "POST",
data: "{'userid':" + userid + "}",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (data) {
//This is where you update the div alert(data.d);
}
});
}
上記のコードをオンラインから取得しました。しかし、テストしませんでした。アイデアを与えたかっただけです。
AJAX 呼び出しから受け取ったコンテンツでページを更新したという理由だけでブラウザがスクロールするのは奇妙に思えます。
ただし、これが発生する可能性があるいくつかの状況を考えることができます。
1) ajax 呼び出しは、<a href="#"> this is a link</a> のように、"href" 属性が "#" に設定された "a" タグにバインドされたクリック イベントから開始されました。クリック イベント内で preventDefault を呼び出さなかった場合、ブラウザは「#」リンクに「アクセス」し、ブラウザをページの上部にスクロールさせます。
2) ブラウザーは、ajax 呼び出しから挿入されたコンテンツの下にある要素にフォーカスを持っていました。この場合、追加された ajax コンテンツは、以前にフォーカスを持っていた要素にフォーカスを維持するためにブラウザーを移動させるのに十分な長さでした。
これらの理由のいずれにも当てはまらない場合は、問題を診断するための詳細情報を提供してください。