我正在使用ASP.NET Web表单来设计网站。其中一个页面使用<DIV>
来保存asp:ImageButton
控件的滚动列表,每个控件都显示一个图像。目标是能够在可滚动的DIV标签内显示一长串图像,使用户更容易在不使用第三方控件的情况下选择一个图像,并避免需要分页的控件。这是我构建的DIV的样本:
<div id="divOne" runat="server" style="height: 230px; width: 330px; overflow: auto;text-align: center;">
<asp:ImageButton runat="server" ImageUrl="../Images/image1_small.jpg" AlternateText="Image #1" CommandArgument="Image #1" OnClick="ImagePicked" /><br />
<asp:ImageButton runat="server" ImageUrl="../Images/image2_small.jpg" AlternateText="Image #2" CommandArgument="Image #2" OnClick="ImagePicked" /><br />
...
</div>
当用户点击图片时,它会触发更新页面其他部分的操作。但问题是,当单击图像并触发操作时,图像列表将重置为列表顶部的第一个图像。
我尝试使用UpdatePanel
来控制它,但它仍然会发生。有没有办法阻止图像列表重置?
答案 0 :(得分:1)
如果你只想在回发后保存滚动位置,有几种方法可以做到。最简单的方法是在onscroll事件触发时使用javascript保存滚动位置,然后在页面加载时恢复保存的值,如下所示: Maintain scroll position of a div within a page on postback
如果这对您不起作用,您可以尝试在隐藏字段中存储滚动位置(请参阅此答案:https://stackoverflow.com/a/1184659/1202275)。有些人还建议将其存储在cookie中,但如果使用该页面的人因任何原因禁用了cookie,则可能适得其反。
希望有所帮助!