gpt4 book ai didi

c# - 通过回发保留 UpdatePanel 中 DIV 的滚动位置

转载 作者:太空狗 更新时间:2023-10-30 00:31:14 27 4
gpt4 key购买 nike

我有一个 GridView,显示在一个 div 中,它包含在 asp.net 页面上的 UpdatePanel 控件中。 div 设置为在显示大量信息时使 GridView 可滚动,同时使更新面板中的其他信息保持稳定。

无论如何,GridView 中的项目是可点击的,但无论我尝试什么,包含 div 的滚动位置都不会通过回发保留。目前我正在尝试用 jQuery 解决这个问题,因为这似乎是最直接的方法。我的代码如下:

    <head id="Head1" runat="server">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>

<script type="text/javascript">
var scroll = function () {
Y: '#<%= scrollPos.ClientID %>'
};

$(document).ready(function () {
$("#subResults").scrollTop($(scroll.Y).val());

$('#subResults').scroll(function () {
$(scroll.Y).val(this.scrollTop);
});
});
</script>
</head>

<body>
<asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager>
<asp:UpdatePanel ID="resultPanel" runat="server" ChildrenAsTriggers="True" UpdateMode="Conditional">
<ContentTemplate>
<div id="subResults">
<asp:GridView ID="resultGrid" runat="server"
AutoGenerateColumns="false" Visible="True"
AutoGenerateSelectButton="True"
OnRowDataBound="resultGrid_RowDataBound"
OnSelectedIndexChanged="resultGrid_SelectedIndexChanged">
<Columns>
// columns columns columns...
</Columns>
</asp:GridView>
<asp:HiddenField ID="scrollPos" runat="server" Value="0" />
</div>
</body>

我正在使用给定的示例 here .无论我是否尝试完全按照给定的方式执行此操作,它都不起作用:我的 GridView 项目接受了单击,执行了它应该执行的操作,然后在回发完成后 GridView 再次滚动回顶部。如何让我的 div“subResults”通过回发保持其滚动位置?

最佳答案

已解决。下面的代码块,粘贴在我的脚本管理器对象的正下方,使滚动的 div 以我想要的方式运行:

<script type="text/javascript">
var xPos, yPos;
var prm = Sys.WebForms.PageRequestManager.getInstance();
prm.add_beginRequest(BeginRequestHandler);
prm.add_endRequest(EndRequestHandler);
function BeginRequestHandler(sender, args) {
xPos = $get('scrollDiv').scrollLeft;
yPos = $get('scrollDiv').scrollTop;
}
function EndRequestHandler(sender, args) {
$get('scrollDiv').scrollLeft = xPos;
$get('scrollDiv').scrollTop = yPos;
}
</script>

归功于 Andrew Frederick

关于c# - 通过回发保留 UpdatePanel 中 DIV 的滚动位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28593991/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com