0

在 ASP.NET MVC 4 视图中,我有一个可以使用 AJAX 更新的“首屏下方”的 div。即使使用异步更新,浏览器也会滚动到页面顶部。

似乎有几种可用的 javascript 解决方案(我都没有开始工作),但是有没有人想出一个 MVC 解决方案来应对这个挑战......特别是像 web.UI 解决方案一样的 RequestPageManager 在“旧风格” (哈哈)asp.net?

4

2 回答 2

0

您是否尝试过 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);

            }
        });
    }

我从网上提取了上面的代码。虽然没有测试。只是想给出一个想法。

于 2013-05-29T23:17:35.310 回答
0

对我来说,浏览器会滚动似乎很奇怪,因为您使用从 AJAX 调用接收到的内容更新了页面。

但是,我可以想到可能发生这种情况的几种情况:

1) ajax 调用是从绑定到“a”标签的单击事件启动的,其中“href”属性设置为“#”,如:<a href="#">这是一个链接</a>。如果您没有在 click 事件中调用 preventDefault,浏览器将“访问”“#”链接并导致浏览器滚动到页面顶部。

2) 浏览器将焦点放在 ajax 调用中插入的内容下方的元素上。在这种情况下,添加的 ajax 内容足够长以使浏览器移动以将焦点保持在先前具有焦点的元素上。

如果其中任何一个原因不适用,请提供更多信息以诊断您的问题。

于 2013-05-31T23:13:45.003 回答