我在面板中有一个数据列表
<asp:Panel ID="Panel1" runat="server" ScrollBars="Vertical">
<asp:DataList ID="DataList1" runat="server" RepeatDirection="Horizontal" OnItemDataBound="DataList1_ItemDataBound" CaptionAlign="Left">
<ItemTemplate>
<asp:ImageButton ID="btn1" runat="server" ImageUrl='<%#"~/Images.ashx?Name=" +DataBinder.Eval(Container.DataItem, "Path") %>'
OnCommand="Item_Command" CommandArgument='<%# Eval("Id").ToString() +";"+Eval("Path")%>' />
</ItemTemplate>
</asp:DataList>
</asp:Panel>
在 Item_Command 上,我将样式添加到 btn1,例如边框和颜色,并获取所选项目的 id
string[] str = e.CommandArgument.ToString().Split(';');
Id = Convert.ToInt32(str[0]);
当我选择正在跳转的项目页面时,假设我已经将浏览器滚动条滚动到底部并选择了一个图像浏览器滚动在顶部,然后它又在底部,在 Item_Command 上,我启用和禁用了一些其他的 btn数据列表,如果我将数据列表保留在更新面板中,那么所有其他 btn 都没有启用或禁用,这就是我不使用更新面板的原因。我拥有更新面板内的所有控件。我尝试了如何在任何事件触发后保留浏览器滚动位置但它不起作用,我正在设置
Page.MaintainScrollPositionOnPostBack = true;
AutoEventWireup="true"
那也不适合我。我正在使用 VS 2010, 4.0 和 C#。
有人请告诉我当用户单击数据列表项时如何停止页面跳转并保持 panel1 和浏览器滚动位置?
提前致谢..