jQuery の .load 関数を使用しているときに、一番上までスクロールしないようにしています。私はあなたが使用できるSOを読みましたevent.preventDefault(); event.stopPropagation();
。これがこの質問へのリンクです。しかし、beginform を使用する場合、ここにはイベントがありません。
また、送信ボタンにクリックイベントを入れようとしましたが、これもうまくいきませんでした。
前もって感謝します!
ビューのコードです。成功すると、関数 closeFancyReservationCancel が呼び出されます。
@using (
Ajax.BeginForm("Cancel",
"Reservation",
new AjaxOptions { HttpMethod = "POST",
OnSuccess = "closeFancyReservationCancel"},
new { id = "cancelForm" }))
{
...
}
)
そして、これはjQuery関数です
function closeFancyReservationCancel() {
$.fancybox.close();
$('#reservationList').load(ResolveUrl('~/Reservation/reservationList'));
}
function ResolveUrl(url) {
if (url.indexOf("~/") == 0) {
url = baseUrl + url.substring(2);
}
return url;
}
ここに私のHTMLの一部があります:
<div id="reservationList" class="tblContainer">
@Html.Action("reservationList", "Reservation")
</div>
アクション reservedList は、テーブルを含むビューを返します。表の本体のみにoverflow: auto;
.
編集:詳細情報を追加
予約テーブルのリストを含む div があります。そのリストを表示するために MVC3 を使用しています。キャンセルボタンを押すと.load関数でdivがリロードされます。
編集
ここにテーブルを含む私のHTMLビュー: Pastebin